[PATCH] mlx4_en: fix endianness with blue frame support

David Miller davem at davemloft.net
Tue Oct 11 05:10:53 EST 2011


From: Thadeu Lima de Souza Cascardo <cascardo at linux.vnet.ibm.com>
Date: Mon, 10 Oct 2011 13:46:54 -0300

> On Mon, Oct 10, 2011 at 01:42:23PM -0300, Thadeu Lima de Souza Cascardo wrote:
>> The doorbell register was being unconditionally swapped. In x86, that
>> meant it was being swapped to BE and written to the descriptor and to
>> memory, depending on the case of blue frame support or writing to
>> doorbell register. On PPC, this meant it was being swapped to LE and
>> then swapped back to BE while writing to the register. But in the blue
>> frame case, it was being written as LE to the descriptor.
>> 
>> The fix is not to swap doorbell unconditionally, write it to the
>> register as BE and convert it to BE when writing it to the descriptor.
>> 
>> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at linux.vnet.ibm.com>
>> Reported-by: Richard Hendrickson <richhend at us.ibm.com>
>> Cc: Eli Cohen <eli at dev.mellanox.co.il>
>> Cc: Yevgeny Petrilin <yevgenyp at mellanox.co.il>
>> Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
>> ---
> 
> So I tested this patch and it works for me. Thanks Ben and Eli for
> finding out the problem with doorbell in the descriptor.

Applied, thanks everyone.


More information about the Linuxppc-dev mailing list