[SCSI] bsg: fix bsg_unregister_queue
FUJITA Tomonori [Sat, 21 Jul 2007 04:23:25 +0000 (13:23 +0900)]
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 4eebcd5..1ba9bc6 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");