Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (92 commits) powerpc: Remove unused 'protect4gb' boot parameter powerpc: Build-in e1000e for pseries & ppc64_defconfig powerpc/pseries: Make request_ras_irqs() available to other pseries code powerpc/numa: Use ibm,architecture-vec-5 to detect form 1 affinity powerpc/numa: Set a smaller value for RECLAIM_DISTANCE to enable zone reclaim powerpc: Use smt_snooze_delay=-1 to always busy loop powerpc: Remove check of ibm,smt-snooze-delay OF property powerpc/kdump: Fix race in kdump shutdown powerpc/kexec: Fix race in kexec shutdown powerpc/kexec: Speedup kexec hash PTE tear down powerpc/pseries: Add hcall to read 4 ptes at a time in real mode powerpc: Use more accurate limit for first segment memory allocations powerpc/kdump: Use chip->shutdown to disable IRQs powerpc/kdump: CPUs assume the context of the oopsing CPU powerpc/crashdump: Do not fail on NULL pointer dereferencing powerpc/eeh: Fix oops when probing in early boot powerpc/pci: Check devices status property when scanning OF tree powerpc/vio: Switch VIO Bus PM to use generic helpers powerpc: Avoid bad relocations in iSeries code powerpc: Use common cpu_die (fixes SMP+SUSPEND build) ...
This commit is contained in:
@@ -155,6 +155,7 @@ static int macio_adb_reset_bus(void)
|
||||
while ((in_8(&adb->ctrl.r) & ADB_RST) != 0) {
|
||||
if (--timeout == 0) {
|
||||
out_8(&adb->ctrl.r, in_8(&adb->ctrl.r) & ~ADB_RST);
|
||||
spin_unlock_irqrestore(&macio_lock, flags);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@@ -1183,8 +1183,10 @@ static ssize_t smu_read_command(struct file *file, struct smu_private *pp,
|
||||
return -EOVERFLOW;
|
||||
spin_lock_irqsave(&pp->lock, flags);
|
||||
if (pp->cmd.status == 1) {
|
||||
if (file->f_flags & O_NONBLOCK)
|
||||
if (file->f_flags & O_NONBLOCK) {
|
||||
spin_unlock_irqrestore(&pp->lock, flags);
|
||||
return -EAGAIN;
|
||||
}
|
||||
add_wait_queue(&pp->wait, &wait);
|
||||
for (;;) {
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
|
@@ -182,6 +182,7 @@ remove_thermostat(struct i2c_client *client)
|
||||
|
||||
thermostat = NULL;
|
||||
|
||||
i2c_set_clientdata(client, NULL);
|
||||
kfree(th);
|
||||
|
||||
return 0;
|
||||
@@ -399,6 +400,7 @@ static int probe_thermostat(struct i2c_client *client,
|
||||
rc = read_reg(th, CONFIG_REG);
|
||||
if (rc < 0) {
|
||||
dev_err(&client->dev, "Thermostat failed to read config!\n");
|
||||
i2c_set_clientdata(client, NULL);
|
||||
kfree(th);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
@@ -757,10 +757,8 @@ static int __devexit wf_smu_remove(struct platform_device *ddev)
|
||||
wf_put_control(cpufreq_clamp);
|
||||
|
||||
/* Destroy control loops state structures */
|
||||
if (wf_smu_sys_fans)
|
||||
kfree(wf_smu_sys_fans);
|
||||
if (wf_smu_cpu_fans)
|
||||
kfree(wf_smu_cpu_fans);
|
||||
kfree(wf_smu_sys_fans);
|
||||
kfree(wf_smu_cpu_fans);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -687,12 +687,9 @@ static int __devexit wf_smu_remove(struct platform_device *ddev)
|
||||
wf_put_control(cpufreq_clamp);
|
||||
|
||||
/* Destroy control loops state structures */
|
||||
if (wf_smu_slots_fans)
|
||||
kfree(wf_smu_cpu_fans);
|
||||
if (wf_smu_drive_fans)
|
||||
kfree(wf_smu_cpu_fans);
|
||||
if (wf_smu_cpu_fans)
|
||||
kfree(wf_smu_cpu_fans);
|
||||
kfree(wf_smu_slots_fans);
|
||||
kfree(wf_smu_drive_fans);
|
||||
kfree(wf_smu_cpu_fans);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user