Re: Fix 64-bit Buslogic driver enumeration error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/20/21 1:52 AM, Matt Wang wrote:
> Hi Khalid,
> 
>  
> 
> Commit 391e2f25601e34a7d7e5dc155e487bc58dffd8c6 in Buslogic driver
> introduced a serious issue for 64-bit systems. With this commit, 64-bit
> kernel will enumerate 8*15 non-existing disks.
> 
> This is caused by the broken CCB structure. The change from u32
> data to void *data increased CCB length in 64-bit system, which
> introduced an extra 4 byte offset to the CDB. This leads to incorrect
> response to Inquiry commands during enumeration.
> 
>  
> 
> This patch fixes the error.
> 
>  

Hi Matt,

Thanks for looking at this. These changes look good. The conversion
"ccb->data = virt_to_32bit_virt(ccb->sglist);" from 64-bit address to
32-bit should be ok since ccb is allocated using dma_alloc_coherent and
should be 32-bit DMA addressable.

A few issues to address with this patch:

- Can you add a proper commit log? The email body itself can serve as
commit log:

"   Fix 64-bit system enumeration error for Buslogic

    Commit 391e2f25601e("BusLogic: Port driver to 64-bit") in Buslogic
    driver introduced a serious issue for 64-bit systems. With this
    commit, 64-bit kernel will enumerate 8*15 non-existing disks.  This
    is caused by the broken CCB structure. The change from u32 data to
    void *data increased CCB length on 64-bit system, which introduced
    an extra 4 byte offset of the CDB. This leads to incorrect response
    to Inquiry commands during enumeration.

    This patch fixes the error."

- Add your Signed-off-by

- Send the patch inline (plain text format, not html) instead of as
attachment.

Thanks,
Khalid




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux