On Wed, Jul 13, 2011 at 9:02 AM, Ayman El-Khashab <ay...@elkhashab.com> wrote: > I've had problems with the mpt2sas driver > (drivers/scsi/mpt2sas/mpt2sas_base.c) when using it on my > ppc44x. Basically, there is a check in the code for > BITS_PER_LONG and certain code is executed if it is 64 vs 32 > bit. I am guessing it is a problem with the driver but it > only shows up on powerpc. If i force it to take the 64 bit > path it works fine, but if I let the preprocessor decide it > will take the 32 bit path and fail later. I am not > configuring my kernel as 64 bit, but I am guessing this has > to do with the 36 bit plb bus on these parts.
That seems like a good theory to me. > can somebody enlighten me as to what the right thing to do > here is? I'd suggest changing the check in the driver away from BITS_PER_LONG and try making the conditionals based on CONFIG_ARCH_DMA_ADDR_T_64BIT instead. On machines with 36-bit physical addressing, that gets set and it should fall into the code paths you say work. josh _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev