diff options
| -rw-r--r-- | drivers/md/dm-mpath.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index e7d80baf8d69..b1fb01efd56c 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c | |||
| @@ -1195,8 +1195,11 @@ static void activate_path(struct work_struct *work) | |||
| 1195 | struct pgpath *pgpath = | 1195 | struct pgpath *pgpath = |
| 1196 | container_of(work, struct pgpath, activate_path.work); | 1196 | container_of(work, struct pgpath, activate_path.work); |
| 1197 | 1197 | ||
| 1198 | scsi_dh_activate(bdev_get_queue(pgpath->path.dev->bdev), | 1198 | if (pgpath->is_active) |
| 1199 | pg_init_done, pgpath); | 1199 | scsi_dh_activate(bdev_get_queue(pgpath->path.dev->bdev), |
| 1200 | pg_init_done, pgpath); | ||
| 1201 | else | ||
| 1202 | pg_init_done(pgpath, SCSI_DH_DEV_OFFLINED); | ||
| 1200 | } | 1203 | } |
| 1201 | 1204 | ||
| 1202 | static int noretry_error(int error) | 1205 | static int noretry_error(int error) |
