diff options
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r-- | drivers/hid/hid-input.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 3511bbaba505..e3c63640df73 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -462,12 +462,15 @@ out: | |||
462 | 462 | ||
463 | static void hidinput_cleanup_battery(struct hid_device *dev) | 463 | static void hidinput_cleanup_battery(struct hid_device *dev) |
464 | { | 464 | { |
465 | const struct power_supply_desc *psy_desc; | ||
466 | |||
465 | if (!dev->battery) | 467 | if (!dev->battery) |
466 | return; | 468 | return; |
467 | 469 | ||
470 | psy_desc = dev->battery->desc; | ||
468 | power_supply_unregister(dev->battery); | 471 | power_supply_unregister(dev->battery); |
469 | kfree(dev->battery->desc->name); | 472 | kfree(psy_desc->name); |
470 | kfree(dev->battery->desc); | 473 | kfree(psy_desc); |
471 | dev->battery = NULL; | 474 | dev->battery = NULL; |
472 | } | 475 | } |
473 | #else /* !CONFIG_HID_BATTERY_STRENGTH */ | 476 | #else /* !CONFIG_HID_BATTERY_STRENGTH */ |