Hi Namhyung, On Thu, Dec 02, 2010 at 12:04:34AM +0900, Namhyung Kim wrote: > IMHO kfree() here looks very confusing. xpad_led->name is an array > of char inside struct xpad_led and is not a dynamic memory itself. > But kfree() works well because it is a first member of the struct > so it points start address of the struct and frees the struct. This has already been fixed in my tree, thanks. > > Change it to xpad_led for the correctness & readability and make > xpad->led NULL for the safety. > > Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx> > Cc: Jan Kratochvil <honza@xxxxxxxx> > --- > drivers/input/joystick/xpad.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > index f885902..1ca49e8 100644 > --- a/drivers/input/joystick/xpad.c > +++ b/drivers/input/joystick/xpad.c > @@ -728,7 +728,8 @@ static void xpad_led_disconnect(struct usb_xpad *xpad) > > if (xpad_led) { > led_classdev_unregister(&xpad_led->led_cdev); > - kfree(xpad_led->name); > + kfree(xpad_led); > + xpad->led = NULL; > } > } > #else > -- > 1.7.0.4 > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html