17 lines
465 B
Diff
17 lines
465 B
Diff
|
diff --git a/block/bsg.c b/block/bsg.c
|
||
|
index 4cf703f..ff64ae3 100644
|
||
|
--- a/block/bsg.c
|
||
|
+++ b/block/bsg.c
|
||
|
@@ -983,7 +983,8 @@ void bsg_unregister_queue(struct request_queue *q)
|
||
|
|
||
|
mutex_lock(&bsg_mutex);
|
||
|
idr_remove(&bsg_minor_idr, bcd->minor);
|
||
|
- sysfs_remove_link(&q->kobj, "bsg");
|
||
|
+ if (q->kobj.sd)
|
||
|
+ sysfs_remove_link(&q->kobj, "bsg");
|
||
|
device_unregister(bcd->class_dev);
|
||
|
bcd->class_dev = NULL;
|
||
|
kref_put(&bcd->ref, bsg_kref_release_function);
|
||
|
--
|
||
|
1.7.4.4
|