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