Re: [PATCH RESEND v2 2/2] scsi: 64-bit port of buslogic driver

From: Khalid Aziz
Date: Mon Jun 24 2013 - 17:16:31 EST


On 06/24/2013 03:07 PM, Dave Jones wrote:
On Mon, Jun 24, 2013 at 02:26:00PM -0600, Khalid Aziz wrote:

> @@ -821,7 +821,7 @@ struct blogic_ccb {
> unsigned char cdblen; /* Byte 2 */
> unsigned char sense_datalen; /* Byte 3 */
> u32 datalen; /* Bytes 4-7 */
> - u32 data; /* Bytes 8-11 */
> + void *data; /* Bytes 8-11 */

The comment (and subsequent ones for this struct) are now wrong on 64-bit.
More of a concern though is that above this struct is this...

/*
Define the 32 Bit Mode Command Control Block (CCB) structure. The first 40
bytes are defined by and common to both the MultiMaster Firmware and the
FlashPoint SCCB Manager.


Is it safe to change this if the firmware/3rd party sw is expecting it to be a u32 ?

Dave


Dave,

You are right. The comment does need to be updated. It is safe though to change it to void *. I have verified this field is used by the lower layer SCCB manager (not fw) and the upper layer buslogic driver only. This field does get used to store 64-bit memory pointers as well as 32-bit DMA pointers depending upon the operation specified in blogic_ccb, and I have made sure the usage is consistent between the two layers.

I can correct the comments in another patch if that is ok by James.

--
Khalid
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/