diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-02-02 09:10:17 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-02-02 09:10:17 -0800 |
commit | b3a54bf9ed76dff9dd26e1fc719431fb14604a8a (patch) | |
tree | 38d2b3f00c71a881f303a06dfe361c9d6d591014 /drivers/scsi/scsi_lib.c | |
parent | c99197902da284b4b723451c1471c45b18537cde (diff) | |
parent | e36f014edff70fc02b3d3d79cead1d58f289332e (diff) |
Merge 3.19-rc7 into usb-next
We want the USB fixes in here to make merges easier.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 6d5c0b8cb0b..17bb541f7cc 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -1143,7 +1143,17 @@ int scsi_init_io(struct scsi_cmnd *cmd) struct scsi_data_buffer *prot_sdb = cmd->prot_sdb; int ivecs, count; - BUG_ON(prot_sdb == NULL); + if (prot_sdb == NULL) { + /* + * This can happen if someone (e.g. multipath) + * queues a command to a device on an adapter + * that does not support DIX. + */ + WARN_ON_ONCE(1); + error = BLKPREP_KILL; + goto err_exit; + } + ivecs = blk_rq_count_integrity_sg(rq->q, rq->bio); if (scsi_alloc_sgtable(prot_sdb, ivecs, is_mq)) { |