diff options
Diffstat (limited to 'drivers/block/aoe')
-rw-r--r-- | drivers/block/aoe/aoedev.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c index 0849280bfc1c..6b5110a47458 100644 --- a/drivers/block/aoe/aoedev.c +++ b/drivers/block/aoe/aoedev.c | |||
@@ -102,6 +102,7 @@ aoedev_freedev(struct aoedev *d) | |||
102 | { | 102 | { |
103 | struct aoetgt **t, **e; | 103 | struct aoetgt **t, **e; |
104 | 104 | ||
105 | cancel_work_sync(&d->work); | ||
105 | if (d->gd) { | 106 | if (d->gd) { |
106 | aoedisk_rm_sysfs(d); | 107 | aoedisk_rm_sysfs(d); |
107 | del_gendisk(d->gd); | 108 | del_gendisk(d->gd); |
@@ -135,7 +136,6 @@ aoedev_flush(const char __user *str, size_t cnt) | |||
135 | all = !strncmp(buf, "all", 3); | 136 | all = !strncmp(buf, "all", 3); |
136 | } | 137 | } |
137 | 138 | ||
138 | flush_scheduled_work(); | ||
139 | spin_lock_irqsave(&devlist_lock, flags); | 139 | spin_lock_irqsave(&devlist_lock, flags); |
140 | dd = &devlist; | 140 | dd = &devlist; |
141 | while ((d = *dd)) { | 141 | while ((d = *dd)) { |
@@ -257,8 +257,6 @@ aoedev_exit(void) | |||
257 | struct aoedev *d; | 257 | struct aoedev *d; |
258 | ulong flags; | 258 | ulong flags; |
259 | 259 | ||
260 | flush_scheduled_work(); | ||
261 | |||
262 | while ((d = devlist)) { | 260 | while ((d = devlist)) { |
263 | devlist = d->next; | 261 | devlist = d->next; |
264 | 262 | ||