|
@@ -988,7 +988,7 @@ _scsih_build_scatter_gather(struct MPT2SAS_ADAPTER *ioc,
|
|
u32 chain_offset;
|
|
u32 chain_offset;
|
|
u32 chain_length;
|
|
u32 chain_length;
|
|
u32 chain_flags;
|
|
u32 chain_flags;
|
|
- u32 sges_left;
|
|
|
|
|
|
+ int sges_left;
|
|
u32 sges_in_segment;
|
|
u32 sges_in_segment;
|
|
u32 sgl_flags;
|
|
u32 sgl_flags;
|
|
u32 sgl_flags_last_element;
|
|
u32 sgl_flags_last_element;
|
|
@@ -1009,7 +1009,7 @@ _scsih_build_scatter_gather(struct MPT2SAS_ADAPTER *ioc,
|
|
|
|
|
|
sg_scmd = scsi_sglist(scmd);
|
|
sg_scmd = scsi_sglist(scmd);
|
|
sges_left = scsi_dma_map(scmd);
|
|
sges_left = scsi_dma_map(scmd);
|
|
- if (!sges_left) {
|
|
|
|
|
|
+ if (sges_left < 0) {
|
|
sdev_printk(KERN_ERR, scmd->device, "pci_map_sg"
|
|
sdev_printk(KERN_ERR, scmd->device, "pci_map_sg"
|
|
" failed: request for %d bytes!\n", scsi_bufflen(scmd));
|
|
" failed: request for %d bytes!\n", scsi_bufflen(scmd));
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|