diff options
Diffstat (limited to 'drivers/memstick/core/ms_block.c')
| -rw-r--r-- | drivers/memstick/core/ms_block.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/memstick/core/ms_block.c b/drivers/memstick/core/ms_block.c index 99e651c27fb7..22de7f5ed032 100644 --- a/drivers/memstick/core/ms_block.c +++ b/drivers/memstick/core/ms_block.c @@ -1921,12 +1921,13 @@ static void msb_io_work(struct work_struct *work)  		spin_lock_irqsave(&msb->q_lock, flags);  		if (len) -			if (!__blk_end_request(msb->req, 0, len)) +			if (!__blk_end_request(msb->req, BLK_STS_OK, len))  				msb->req = NULL;  		if (error && msb->req) { +			blk_status_t ret = errno_to_blk_status(error);  			dbg_verbose("IO: ending one sector of the request with error"); -			if (!__blk_end_request(msb->req, error, msb->page_size)) +			if (!__blk_end_request(msb->req, ret, msb->page_size))  				msb->req = NULL;  		} @@ -2014,7 +2015,7 @@ static void msb_submit_req(struct request_queue *q)  		WARN_ON(!msb->io_queue_stopped);  		while ((req = blk_fetch_request(q)) != NULL) -			__blk_end_request_all(req, -ENODEV); +			__blk_end_request_all(req, BLK_STS_IOERR);  		return;  	}  |