diff options
Diffstat (limited to 'drivers/scsi/scsi_transport_fc.c')
| -rw-r--r-- | drivers/scsi/scsi_transport_fc.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 1d5b72173dd..6cfffc88022 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c @@ -27,6 +27,7 @@   */  #include <linux/module.h>  #include <linux/init.h> +#include <linux/slab.h>  #include <linux/delay.h>  #include <scsi/scsi_device.h>  #include <scsi/scsi_host.h> @@ -3852,7 +3853,7 @@ fc_bsg_request_handler(struct request_queue *q, struct Scsi_Host *shost,  		if (rport && (rport->port_state != FC_PORTSTATE_ONLINE)) {  			req->errors = -ENXIO;  			spin_unlock_irq(q->queue_lock); -			blk_end_request(req, -ENXIO, blk_rq_bytes(req)); +			blk_end_request_all(req, -ENXIO);  			spin_lock_irq(q->queue_lock);  			continue;  		} @@ -3862,7 +3863,7 @@ fc_bsg_request_handler(struct request_queue *q, struct Scsi_Host *shost,  		ret = fc_req_to_bsgjob(shost, rport, req);  		if (ret) {  			req->errors = ret; -			blk_end_request(req, ret, blk_rq_bytes(req)); +			blk_end_request_all(req, ret);  			spin_lock_irq(q->queue_lock);  			continue;  		}  |