The patch titled UEAGLE: fix ueagle-atm Oops has been removed from the -mm tree. Its filename is ueagle-fix-ueagle-atm-oops.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ Subject: UEAGLE: fix ueagle-atm Oops From: matthieu castet <castet.matthieu@xxxxxxx> The array of attribute passed to sysfs_create_group() must be NULL-terminated. The sysfs entries are created before the start of the modem state machine to avoid to stop it in case of errors in sysfs creation. Also {destroy,create}_fs_entries are removed as they do nothing. Signed-off-by: Laurent Riffard <laurent.riffard@xxxxxxx> Signed-off-by: Matthieu CASTET <castet.matthieu@xxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/usb/atm/ueagle-atm.c | 32 +++++++++++--------------------- 1 files changed, 11 insertions(+), 21 deletions(-) diff -puN drivers/usb/atm/ueagle-atm.c~ueagle-fix-ueagle-atm-oops drivers/usb/atm/ueagle-atm.c --- a/drivers/usb/atm/ueagle-atm.c~ueagle-fix-ueagle-atm-oops +++ a/drivers/usb/atm/ueagle-atm.c @@ -1648,16 +1648,12 @@ static struct attribute *attrs[] = { &dev_attr_stat_usunc.attr, &dev_attr_stat_dsunc.attr, &dev_attr_stat_firmid.attr, + NULL, }; static struct attribute_group attr_grp = { .attrs = attrs, }; -static int create_fs_entries(struct usb_interface *intf) -{ - return sysfs_create_group(&intf->dev.kobj, &attr_grp); -} - static int uea_bind(struct usbatm_data *usbatm, struct usb_interface *intf, const struct usb_device_id *id) { @@ -1717,31 +1713,25 @@ static int uea_bind(struct usbatm_data * } } + ret = sysfs_create_group(&intf->dev.kobj, &attr_grp); + if (ret < 0) + goto error; + ret = uea_boot(sc); - if (ret < 0) { - kfree(sc); - return ret; - } + if (ret < 0) + goto error; - ret = create_fs_entries(intf); - if (ret) { - uea_stop(sc); - kfree(sc); - return ret; - } return 0; -} - -static void destroy_fs_entries(struct usb_interface *intf) -{ - sysfs_remove_group(&intf->dev.kobj, &attr_grp); +error: + kfree(sc); + return ret; } static void uea_unbind(struct usbatm_data *usbatm, struct usb_interface *intf) { struct uea_softc *sc = usbatm->driver_data; - destroy_fs_entries(intf); + sysfs_remove_group(&intf->dev.kobj, &attr_grp); uea_stop(sc); kfree(sc); } _ Patches currently in -mm which might be from castet.matthieu@xxxxxxx are origin.patch via-pata-controller-xfer-fixes.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html