Prev: (none)
Next: Fwd: Possible bug in net/ipv4/route.c?
From: Jonathan Woithe on 1 Jul 2010 22:20 > input_free_device should only be used if input_register_device() > was not called yet or if it failed. > > This patch removes unnecessary input_free_device calls. Yes, indeed. Good catch. The patch looks good to me - thanks. Acked-by: Jonathan Woithe <jwoithe(a)physics.adelaide.edu.au> > Signed-off-by: Axel Lin <axel.lin(a)gmail.com> > --- > drivers/platform/x86/fujitsu-laptop.c | 21 ++++++++------------- > 1 files changed, 8 insertions(+), 13 deletions(-) > > diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c > index e325aeb..dab1a0e 100644 > --- a/drivers/platform/x86/fujitsu-laptop.c > +++ b/drivers/platform/x86/fujitsu-laptop.c > @@ -686,8 +686,10 @@ static int acpi_fujitsu_add(struct acpi_device *device) > set_bit(KEY_UNKNOWN, input->keybit); > > error = input_register_device(input); > - if (error) > - goto err_free_input_dev; > + if (error) { > + input_free_device(input); > + goto err_stop; > + } > > result = acpi_bus_get_power(fujitsu->acpi_handle, &state); > if (result) { > @@ -725,8 +727,6 @@ static int acpi_fujitsu_add(struct acpi_device *device) > > err_unregister_input_dev: > input_unregister_device(input); > -err_free_input_dev: > - input_free_device(input); > err_stop: > return result; > } > @@ -737,9 +737,6 @@ static int acpi_fujitsu_remove(struct acpi_device *device, int type) > struct input_dev *input = fujitsu->input; > > input_unregister_device(input); > - > - input_free_device(input); > - > fujitsu->acpi_handle = NULL; > > return 0; > @@ -855,8 +852,10 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device) > set_bit(KEY_UNKNOWN, input->keybit); > > error = input_register_device(input); > - if (error) > - goto err_free_input_dev; > + if (error) { > + input_free_device(input); > + goto err_free_fifo; > + } > > result = acpi_bus_get_power(fujitsu_hotkey->acpi_handle, &state); > if (result) { > @@ -930,8 +929,6 @@ static int acpi_fujitsu_hotkey_add(struct acpi_device *device) > > err_unregister_input_dev: > input_unregister_device(input); > -err_free_input_dev: > - input_free_device(input); > err_free_fifo: > kfifo_free(&fujitsu_hotkey->fifo); > err_stop: > @@ -953,8 +950,6 @@ static int acpi_fujitsu_hotkey_remove(struct acpi_device *device, int type) > > input_unregister_device(input); > > - input_free_device(input); > - > kfifo_free(&fujitsu_hotkey->fifo); > > fujitsu_hotkey->acpi_handle = NULL; > -- > 1.5.4.3 > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: (none) Next: Fwd: Possible bug in net/ipv4/route.c? |