I do agree with this patch. Please consider this patch as an ACKed so that it can be merge In next window. Thanks, Kashyap > -----Original Message----- > From: FUJITA Tomonori [mailto:fujita.tomonori@xxxxxxxxxxxxx] > Sent: Tuesday, March 09, 2010 7:40 AM > To: Desai, Kashyap > Cc: James.Bottomley@xxxxxxx; linux-scsi@xxxxxxxxxxxxxxx > Subject: [PATCH] mpt2sas: fix the incorrect scsi_dma_map error checking > > scsi_dma_map() returns -1 if an error occurred (zero means that the > command has no data). So the following current code can't catch an > error: > > sges_left = scsi_dma_map(scmd); > if (!sges_left) { > sdev_printk(KERN_ERR, scmd->device, "pci_map_sg" > " failed: request for %d bytes!\n", scsi_bufflen(scmd)); > return -ENOMEM; > } > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> > --- > drivers/scsi/mpt2sas/mpt2sas_scsih.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c > b/drivers/scsi/mpt2sas/mpt2sas_scsih.c > index c7ec3f1..99d189d 100644 > --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c > +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c > @@ -987,7 +987,7 @@ _scsih_build_scatter_gather(struct MPT2SAS_ADAPTER > *ioc, > u32 chain_offset; > u32 chain_length; > u32 chain_flags; > - u32 sges_left; > + int sges_left; > u32 sges_in_segment; > u32 sgl_flags; > u32 sgl_flags_last_element; > @@ -1008,7 +1008,7 @@ _scsih_build_scatter_gather(struct > MPT2SAS_ADAPTER *ioc, > > sg_scmd = scsi_sglist(scmd); > sges_left = scsi_dma_map(scmd); > - if (!sges_left) { > + if (sges_left < 0) { > sdev_printk(KERN_ERR, scmd->device, "pci_map_sg" > " failed: request for %d bytes!\n", scsi_bufflen(scmd)); > return -ENOMEM; > -- > 1.6.5 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html