Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5e89385e92a77b2764d9eb8284808a7628cb2a8
Commit:     d5e89385e92a77b2764d9eb8284808a7628cb2a8
Parent:     804b3f9a16e446cb023417faec58b6506c834052
Author:     FUJITA Tomonori <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 3 09:00:58 2007 +0900
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Thu Oct 4 12:08:49 2007 -0400

    [SCSI] megaraid_old: fix READ_CAPACITY
    
    The bulk transfer mode got eleminated by
    3f6270ef76f2ce5c134615a470685d6c2a66c07e.  Unfortunately, this mode is
    required for READ_CAPACITY commands on certain cards, so put it back
    again.  This fixes a boot failure regression reported by Burton
    Windle.
    
    Signed-off-by: FUJITA Tomonori <[EMAIL PROTECTED]>
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
---
 drivers/scsi/megaraid.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 3907f67..da56163 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -1753,6 +1753,14 @@ mega_build_sglist(adapter_t *adapter, scb_t *scb, u32 
*buf, u32 *len)
 
        *len = 0;
 
+       if (scsi_sg_count(cmd) == 1 && !adapter->has_64bit_addr) {
+               sg = scsi_sglist(cmd);
+               scb->dma_h_bulkdata = sg_dma_address(sg);
+               *buf = (u32)scb->dma_h_bulkdata;
+               *len = sg_dma_len(sg);
+               return 0;
+       }
+
        scsi_for_each_sg(cmd, sg, sgcnt, idx) {
                if (adapter->has_64bit_addr) {
                        scb->sgl64[idx].address = sg_dma_address(sg);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to