pktcdvd: removing device does not remove its sysfs dir
authorThadeu Lima de Souza Cascardo <[email protected]>
Tue, 2 Feb 2010 21:44:17 +0000 (13:44 -0800)
committerLinus Torvalds <[email protected]>
Wed, 3 Feb 2010 02:11:23 +0000 (18:11 -0800)
This is the counterpart to cba767175becadc5c4016cceb7bfdd2c7fe722f4
("pktcdvd: remove broken dev_t export of class devices").  Device is not
registered using dev_t, so it should not be destroyed using device_destroy
which looks up the device by dev_t.  This will fail and adding the device
again will fail with the "duplicate name" error.  This is fixed using
device_unregister instead of device_destroy.

Signed-off-by: Thadeu Lima de Souza Cascardo <[email protected]>
Cc: Kay Sievers <[email protected]>
Cc: Peter Osterlund <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/block/pktcdvd.c

index 2ddf03ae034e1aa552d6740ee171c6739f9335bd..68b5957f107cd4c5e675576457c103330458de11 100644 (file)
@@ -322,7 +322,7 @@ static void pkt_sysfs_dev_remove(struct pktcdvd_device *pd)
        pkt_kobj_remove(pd->kobj_stat);
        pkt_kobj_remove(pd->kobj_wqueue);
        if (class_pktcdvd)
-               device_destroy(class_pktcdvd, pd->pkt_dev);
+               device_unregister(pd->dev);
 }