aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/sg.c')
-rw-r--r--drivers/scsi/sg.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index d6391666502c..ed69292babde 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1656,11 +1656,9 @@ static int sg_start_req(Sg_request *srp, unsigned char *cmd)
1656 sg_io_hdr_t *hp = &srp->header; 1656 sg_io_hdr_t *hp = &srp->header;
1657 int dxfer_len = (int) hp->dxfer_len; 1657 int dxfer_len = (int) hp->dxfer_len;
1658 int dxfer_dir = hp->dxfer_direction; 1658 int dxfer_dir = hp->dxfer_direction;
1659 unsigned long uaddr = (unsigned long)hp->dxferp;
1660 Sg_scatter_hold *req_schp = &srp->data; 1659 Sg_scatter_hold *req_schp = &srp->data;
1661 Sg_scatter_hold *rsv_schp = &sfp->reserve; 1660 Sg_scatter_hold *rsv_schp = &sfp->reserve;
1662 struct request_queue *q = sfp->parentdp->device->request_queue; 1661 struct request_queue *q = sfp->parentdp->device->request_queue;
1663 unsigned long alignment = queue_dma_alignment(q) | q->dma_pad_mask;
1664 struct rq_map_data map_data; 1662 struct rq_map_data map_data;
1665 1663
1666 SCSI_LOG_TIMEOUT(4, printk("sg_start_req: dxfer_len=%d\n", dxfer_len)); 1664 SCSI_LOG_TIMEOUT(4, printk("sg_start_req: dxfer_len=%d\n", dxfer_len));
@@ -1676,7 +1674,7 @@ static int sg_start_req(Sg_request *srp, unsigned char *cmd)
1676 if (sg_allow_dio && (hp->flags & SG_FLAG_DIRECT_IO) && 1674 if (sg_allow_dio && (hp->flags & SG_FLAG_DIRECT_IO) &&
1677 (dxfer_dir != SG_DXFER_UNKNOWN) && (0 == hp->iovec_count) && 1675 (dxfer_dir != SG_DXFER_UNKNOWN) && (0 == hp->iovec_count) &&
1678 (!sfp->parentdp->device->host->unchecked_isa_dma) && 1676 (!sfp->parentdp->device->host->unchecked_isa_dma) &&
1679 !(uaddr & alignment) && !(dxfer_len & alignment)) 1677 blk_rq_aligned(q, hp->dxferp, dxfer_len))
1680 return sg_build_direct(srp, sfp, dxfer_len); 1678 return sg_build_direct(srp, sfp, dxfer_len);
1681#endif 1679#endif
1682 if ((!sg_res_in_use(sfp)) && (dxfer_len <= rsv_schp->bufflen)) 1680 if ((!sg_res_in_use(sfp)) && (dxfer_len <= rsv_schp->bufflen))