Hi, Most of drivers use sg helpers to operate sgl, however there is still a few drivers which operate sgl directly, this way can't work in case of chained sgl. So convert them to use sg helper. There are two types of scsi SGL uses: 1) operate on scsi_sglist(scmd) directly, then one local variable of 'struct scatterlist *' is involved, so the following coccinelle semantic patch is developed for finding this type of direct sgl uses: https://marc.info/?l=linux-scsi&m=156031374809852&w=2 2) scsi_sglist(scmd) is stored to cmd->SCp.buffer and the SGL is used via cmd->SCp.buffer. Simple 'grep SCp.buffer' is used for finding SGL direct uses, fortunately only the following drivers uses SCp.buffer to store SGL: NCR5380, aha152x, arm/, imm, pcmcia, ppa and wd33c93 And arm/ is already ready to handle chained SGL. The 1st 9 patches are for handling type #1, and the other 6 patches for handling type #2. V2: - use coccinelle semantic patch for finding direct sgl uses from scsi command(9 drivers found) - run 'git grep -E "SCp.buffer"' to find direct sgl uses from SCp.buffer(6 drivers are found) Finn Thain (1): NCR5380: Support chained sg lists Ming Lei (14): scsi: vmw_pscsi: use sg helper to operate sgl scsi: advansys: use sg helper to operate sgl scsi: lpfc: use sg helper to operate sgl scsi: mvumi: use sg helper to operate sgl scsi: ipr: use sg helper to operate sgl scsi: pmcraid: use sg helper to operate sgl usb: image: microtek: use sg helper to operate sgl staging: unisys: visorhba: use sg helper to operate sgl s390: zfcp_fc: use sg helper to operate sgl scsi: aha152x: use sg helper to operate sgl scsi: imm: use sg helper to operate sgl scsi: pcmcia: nsp_cs: use sg helper to operate sgl scsi: ppa: use sg helper to operate sgl scsi: wd33c93: use sg helper to operate sgl drivers/s390/scsi/zfcp_fc.c | 4 +- drivers/scsi/NCR5380.c | 41 ++++++++----------- drivers/scsi/advansys.c | 2 +- drivers/scsi/aha152x.c | 29 ++++++++----- drivers/scsi/imm.c | 2 +- drivers/scsi/ipr.c | 28 +++++++------ drivers/scsi/lpfc/lpfc_nvmet.c | 3 +- drivers/scsi/mvumi.c | 9 ++-- drivers/scsi/pcmcia/nsp_cs.c | 4 +- drivers/scsi/pmcraid.c | 12 +++--- drivers/scsi/ppa.c | 2 +- drivers/scsi/vmw_pvscsi.c | 2 +- drivers/scsi/wd33c93.c | 2 +- .../staging/unisys/visorhba/visorhba_main.c | 9 ++-- drivers/usb/image/microtek.c | 20 ++++----- drivers/usb/image/microtek.h | 2 +- 16 files changed, 85 insertions(+), 86 deletions(-) -- 2.20.1