check return value of power_supply_register from Lan Tianyu (rhbz 772730)

This commit is contained in:
Josh Boyer 2012-07-18 09:12:02 -04:00
parent e8f3d1a1cb
commit d7721263f2
2 changed files with 47 additions and 1 deletions

View File

@ -0,0 +1,37 @@
In the ac.c, lack check return value of power_supply_register().
This may casue that acpi driver's add() ops was called successful
while the device may be failed to be initalized. For example, some
ugly bios may describe two ACADs in the same dsdt. They use the same
name which will cause the second ACAD device can no be registered.
And then power_supply_register() failed. But acpi driver's add() ops
is called sucessfully. The acpi device also will receive acpi notification
and cause oops.
https://bugzilla.redhat.com/show_bug.cgi?id=772730
Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
---
drivers/acpi/ac.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/acpi/ac.c b/drivers/acpi/ac.c
index 6512b20..d1fcbc0 100644
--- a/drivers/acpi/ac.c
+++ b/drivers/acpi/ac.c
@@ -292,7 +292,9 @@ static int acpi_ac_add(struct acpi_device *device)
ac->charger.properties = ac_props;
ac->charger.num_properties = ARRAY_SIZE(ac_props);
ac->charger.get_property = get_ac_property;
- power_supply_register(&ac->device->dev, &ac->charger);
+ result = power_supply_register(&ac->device->dev, &ac->charger);
+ if (result)
+ goto end;
printk(KERN_INFO PREFIX "%s [%s] (%s)\n",
acpi_device_name(device), acpi_device_bid(device),
--
1.7.6.rc2.8.g28eb
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html

View File

@ -62,7 +62,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
%global baserelease 2
%global baserelease 3
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -749,6 +749,9 @@ Patch22043: rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch
Patch22050: crypto-testmgr-allow-aesni-intel-and-ghash_clmulni-intel.patch
Patch22051: crypto-aesni-intel-fix-wrong-kfree-pointer.patch
#rhbz 772730
Patch22058: ACPI-AC-check-the-return-value-of-power_supply_register.patch
# END OF PATCH DEFINITIONS
%endif
@ -1444,6 +1447,9 @@ ApplyPatch rt2x00usb-fix-indexes-ordering-on-RX-queue-kick.patch
ApplyPatch crypto-testmgr-allow-aesni-intel-and-ghash_clmulni-intel.patch
ApplyPatch crypto-aesni-intel-fix-wrong-kfree-pointer.patch
#rhbz 772730
ApplyPatch ACPI-AC-check-the-return-value-of-power_supply_register.patch
# END OF PATCH APPLICATIONS
%endif
@ -2300,6 +2306,9 @@ fi
# ||----w |
# || ||
%changelog
* Wed Jul 18 2012 Josh Boyer <jwboyer@redhat.com>
- check return value of power_supply_register from Lan Tianyu (rhbz 772730)
* Tue Jul 17 2012 Justin M. Forbes <jforbes@redhat.com> - 3.5.0-0.rc7.git1.2
- Reenable debugging options.