diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-05-16 19:21:24 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-05-16 19:21:24 -0700 |
| commit | 174fc0d1da851929b962b1d978b9e77b427bafc4 (patch) | |
| tree | fbea6a65f2c95a28bf879451a34aa420f07bde66 /f.patch | |
| parent | 82d1bb1e123983efbc647070586543eedcbc189d (diff) | |
| download | patches-174fc0d1da851929b962b1d978b9e77b427bafc4.tar.gz | |
more device_create race fixes
Diffstat (limited to 'f.patch')
| -rw-r--r-- | f.patch | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/f.patch b/f.patch deleted file mode 100644 index 449122e6343287..00000000000000 --- a/f.patch +++ /dev/null @@ -1,210 +0,0 @@ ---- - drivers/s390/char/vmlogrdr.c | 9 ++++----- - drivers/scsi/ch.c | 7 +++---- - drivers/scsi/osst.c | 3 +-- - drivers/scsi/sg.c | 11 ++++++----- - drivers/scsi/st.c | 12 +++++++----- - drivers/usb/core/hcd.c | 6 +++--- - drivers/usb/misc/phidgetkit.c | 6 +++--- - drivers/usb/misc/phidgetmotorcontrol.c | 7 +++---- - drivers/usb/misc/phidgetservo.c | 6 +++--- - 9 files changed, 33 insertions(+), 34 deletions(-) - ---- a/drivers/s390/char/vmlogrdr.c -+++ b/drivers/s390/char/vmlogrdr.c -@@ -762,10 +762,10 @@ static int vmlogrdr_register_device(stru - device_unregister(dev); - return ret; - } -- priv->class_device = device_create(vmlogrdr_class, dev, -- MKDEV(vmlogrdr_major, -- priv->minor_num), -- "%s", dev->bus_id); -+ priv->class_device = device_create_drvdata(vmlogrdr_class, dev, -+ MKDEV(vmlogrdr_major, -+ priv->minor_num), -+ priv, "%s", dev->bus_id); - if (IS_ERR(priv->class_device)) { - ret = PTR_ERR(priv->class_device); - priv->class_device=NULL; -@@ -773,7 +773,6 @@ static int vmlogrdr_register_device(stru - device_unregister(dev); - return ret; - } -- dev->driver_data = priv; - priv->device = dev; - return 0; - } ---- a/drivers/scsi/ch.c -+++ b/drivers/scsi/ch.c -@@ -910,9 +910,9 @@ static int ch_probe(struct device *dev) - ch->minor = minor; - sprintf(ch->name,"ch%d",ch->minor); - -- class_dev = device_create(ch_sysfs_class, dev, -- MKDEV(SCSI_CHANGER_MAJOR,ch->minor), -- "s%s", ch->name); -+ class_dev = device_create_drvdata(ch_sysfs_class, dev, -+ MKDEV(SCSI_CHANGER_MAJOR,ch->minor), -+ ch, "s%s", ch->name); - if (IS_ERR(class_dev)) { - printk(KERN_WARNING "ch%d: device_create failed\n", - ch->minor); -@@ -926,7 +926,6 @@ static int ch_probe(struct device *dev) - if (init) - ch_init_elem(ch); - -- dev_set_drvdata(dev, ch); - sdev_printk(KERN_INFO, sd, "Attached scsi changer %s\n", ch->name); - - return 0; ---- a/drivers/scsi/osst.c -+++ b/drivers/scsi/osst.c -@@ -5695,13 +5695,12 @@ static int osst_sysfs_add(dev_t dev, str - struct device *osst_member; - int err; - -- osst_member = device_create(osst_sysfs_class, device, dev, "%s", name); -+ osst_member = device_create_drvdata(osst_sysfs_class, device, dev, STp, "%s", name); - if (IS_ERR(osst_member)) { - printk(KERN_WARNING "osst :W: Unable to add sysfs class member %s\n", name); - return PTR_ERR(osst_member); - } - -- dev_set_drvdata(osst_member, STp); - err = device_create_file(osst_member, &dev_attr_ADR_rev); - if (err) - goto err_out; ---- a/drivers/scsi/sg.c -+++ b/drivers/scsi/sg.c -@@ -1441,17 +1441,18 @@ sg_add(struct device *cl_dev, struct cla - if (sg_sysfs_valid) { - struct device *sg_class_member; - -- sg_class_member = device_create(sg_sysfs_class, cl_dev->parent, -- MKDEV(SCSI_GENERIC_MAJOR, -- sdp->index), -- "%s", disk->disk_name); -+ sg_class_member = device_create_drvdata(sg_sysfs_class, -+ cl_dev->parent, -+ MKDEV(SCSI_GENERIC_MAJOR, -+ sdp->index), -+ sdp, -+ "%s", disk->disk_name); - if (IS_ERR(sg_class_member)) { - printk(KERN_ERR "sg_add: " - "device_create failed\n"); - error = PTR_ERR(sg_class_member); - goto cdev_add_err; - } -- dev_set_drvdata(sg_class_member, sdp); - error = sysfs_create_link(&scsidp->sdev_gendev.kobj, - &sg_class_member->kobj, "generic"); - if (error) ---- a/drivers/scsi/st.c -+++ b/drivers/scsi/st.c -@@ -4424,17 +4424,19 @@ static int do_create_class_files(struct - snprintf(name, 10, "%s%s%s", rew ? "n" : "", - STp->disk->disk_name, st_formats[i]); - st_class_member = -- device_create(st_sysfs_class, &STp->device->sdev_gendev, -- MKDEV(SCSI_TAPE_MAJOR, -- TAPE_MINOR(dev_num, mode, rew)), -- "%s", name); -+ device_create_drvdata(st_sysfs_class, -+ &STp->device->sdev_gendev, -+ MKDEV(SCSI_TAPE_MAJOR, -+ TAPE_MINOR(dev_num, -+ mode, rew)), -+ &STp->modes[mode], -+ "%s", name); - if (IS_ERR(st_class_member)) { - printk(KERN_WARNING "st%d: device_create failed\n", - dev_num); - error = PTR_ERR(st_class_member); - goto out; - } -- dev_set_drvdata(st_class_member, &STp->modes[mode]); - - error = device_create_file(st_class_member, - &dev_attr_defined); ---- a/drivers/usb/core/hcd.c -+++ b/drivers/usb/core/hcd.c -@@ -818,12 +818,12 @@ static int usb_register_bus(struct usb_b - set_bit (busnum, busmap.busmap); - bus->busnum = busnum; - -- bus->dev = device_create(usb_host_class, bus->controller, MKDEV(0, 0), -- "usb_host%d", busnum); -+ bus->dev = device_create_drvdata(usb_host_class, bus->controller, -+ MKDEV(0, 0), bus, -+ "usb_host%d", busnum); - result = PTR_ERR(bus->dev); - if (IS_ERR(bus->dev)) - goto error_create_class_dev; -- dev_set_drvdata(bus->dev, bus); - - /* Add it to the local list of buses */ - list_add (&bus->bus_list, &usb_bus_list); ---- a/drivers/usb/misc/phidgetkit.c -+++ b/drivers/usb/misc/phidgetkit.c -@@ -595,14 +595,14 @@ static int interfacekit_probe(struct usb - } while(value); - kit->dev_no = bit; - -- kit->dev = device_create(phidget_class, &kit->udev->dev, 0, -- "interfacekit%d", kit->dev_no); -+ kit->dev = device_create_drvdata(phidget_class, &kit->udev->dev, -+ MKDEV(0,0), kit, -+ "interfacekit%d", kit->dev_no); - if (IS_ERR(kit->dev)) { - rc = PTR_ERR(kit->dev); - kit->dev = NULL; - goto out; - } -- dev_set_drvdata(kit->dev, kit); - - if (usb_submit_urb(kit->irq, GFP_KERNEL)) { - rc = -EIO; ---- a/drivers/usb/misc/phidgetmotorcontrol.c -+++ b/drivers/usb/misc/phidgetmotorcontrol.c -@@ -365,16 +365,15 @@ static int motorcontrol_probe(struct usb - } while(value); - mc->dev_no = bit; - -- mc->dev = device_create(phidget_class, &mc->udev->dev, 0, -- "motorcontrol%d", mc->dev_no); -+ mc->dev = device_create_drvdata(phidget_class, &mc->udev->dev, -+ MKDEV(0,0), mc, -+ "motorcontrol%d", mc->dev_no); - if (IS_ERR(mc->dev)) { - rc = PTR_ERR(mc->dev); - mc->dev = NULL; - goto out; - } - -- dev_set_drvdata(mc->dev, mc); -- - if (usb_submit_urb(mc->irq, GFP_KERNEL)) { - rc = -EIO; - goto out; ---- a/drivers/usb/misc/phidgetservo.c -+++ b/drivers/usb/misc/phidgetservo.c -@@ -275,14 +275,14 @@ servo_probe(struct usb_interface *interf - } while (value); - dev->dev_no = bit; - -- dev->dev = device_create(phidget_class, &dev->udev->dev, 0, -- "servo%d", dev->dev_no); -+ dev->dev = device_create_drvdata(phidget_class, &dev->udev->dev, -+ MKDEV(0,0), dev, -+ "servo%d", dev->dev_no); - if (IS_ERR(dev->dev)) { - rc = PTR_ERR(dev->dev); - dev->dev = NULL; - goto out; - } -- dev_set_drvdata(dev->dev, dev); - - servo_count = dev->type & SERVO_COUNT_QUAD ? 4 : 1; - |
