[SCSI] bsg: fix bsg_unregister_queue
authorFUJITA Tomonori <tomof@acm.org>
Sat, 21 Jul 2007 04:23:25 +0000 (13:23 +0900)
committerJames Bottomley <jejb@mulgrave.localdomain>
Sat, 21 Jul 2007 13:58:41 +0000 (08:58 -0500)
scsi_sysfs_add_sdev ignores the bsg_register_queue failure, so
bsg_unregister_queue must check whether the queue has a bsg device.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
block/bsg.c

index 4eebcd5c73113d92b0e8ae2e2c6225767b92617d..1ba9bc6d9a44555d975a139ded1aa69a66e023cd 100644 (file)
@@ -932,7 +932,8 @@ void bsg_unregister_queue(struct request_queue *q)
 {
        struct bsg_class_device *bcd = &q->bsg_dev;
 
-       WARN_ON(!bcd->class_dev);
+       if (!bcd->class_dev)
+               return;
 
        mutex_lock(&bsg_mutex);
        sysfs_remove_link(&q->kobj, "bsg");