diff options
| -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 | ||
