diff options
Diffstat (limited to 'drivers/message')
| -rw-r--r-- | drivers/message/fusion/mptsas.c | 7 | ||||
| -rw-r--r-- | drivers/message/i2o/i2o_block.c | 12 |
2 files changed, 6 insertions, 13 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index 404c014db1bd..1d2d03f77894 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
| @@ -815,7 +815,7 @@ mptsas_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
| 815 | static int | 815 | static int |
| 816 | mptsas_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | 816 | mptsas_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) |
| 817 | { | 817 | { |
| 818 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)ioc->sh->hostdata; | 818 | MPT_SCSI_HOST *hd; |
| 819 | struct mptsas_target_reset_event *target_reset_list, *n; | 819 | struct mptsas_target_reset_event *target_reset_list, *n; |
| 820 | int rc; | 820 | int rc; |
| 821 | 821 | ||
| @@ -827,7 +827,10 @@ mptsas_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
| 827 | if (reset_phase != MPT_IOC_POST_RESET) | 827 | if (reset_phase != MPT_IOC_POST_RESET) |
| 828 | goto out; | 828 | goto out; |
| 829 | 829 | ||
| 830 | if (!hd || !hd->ioc) | 830 | if (!ioc->sh || !ioc->sh->hostdata) |
| 831 | goto out; | ||
| 832 | hd = (MPT_SCSI_HOST *)ioc->sh->hostdata; | ||
| 833 | if (!hd->ioc) | ||
| 831 | goto out; | 834 | goto out; |
| 832 | 835 | ||
| 833 | if (list_empty(&hd->target_reset_list)) | 836 | if (list_empty(&hd->target_reset_list)) |
diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c index da9859f2caf2..b17c4b2bc9ef 100644 --- a/drivers/message/i2o/i2o_block.c +++ b/drivers/message/i2o/i2o_block.c | |||
| @@ -390,13 +390,6 @@ static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) | |||
| 390 | return BLKPREP_KILL; | 390 | return BLKPREP_KILL; |
| 391 | } | 391 | } |
| 392 | 392 | ||
| 393 | /* request is already processed by us, so return */ | ||
| 394 | if (blk_special_request(req)) { | ||
| 395 | osm_debug("REQ_SPECIAL already set!\n"); | ||
| 396 | req->cmd_flags |= REQ_DONTPREP; | ||
| 397 | return BLKPREP_OK; | ||
| 398 | } | ||
| 399 | |||
| 400 | /* connect the i2o_block_request to the request */ | 393 | /* connect the i2o_block_request to the request */ |
| 401 | if (!req->special) { | 394 | if (!req->special) { |
| 402 | ireq = i2o_block_request_alloc(); | 395 | ireq = i2o_block_request_alloc(); |
| @@ -408,11 +401,8 @@ static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) | |||
| 408 | ireq->i2o_blk_dev = i2o_blk_dev; | 401 | ireq->i2o_blk_dev = i2o_blk_dev; |
| 409 | req->special = ireq; | 402 | req->special = ireq; |
| 410 | ireq->req = req; | 403 | ireq->req = req; |
| 411 | } else | 404 | } |
| 412 | ireq = req->special; | ||
| 413 | |||
| 414 | /* do not come back here */ | 405 | /* do not come back here */ |
| 415 | req->cmd_type = REQ_TYPE_SPECIAL; | ||
| 416 | req->cmd_flags |= REQ_DONTPREP; | 406 | req->cmd_flags |= REQ_DONTPREP; |
| 417 | 407 | ||
| 418 | return BLKPREP_OK; | 408 | return BLKPREP_OK; |
