diff options
author | Malcolm Priestley <tvboxspy@gmail.com> | 2012-08-29 23:08:21 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-02 09:47:24 -0700 |
commit | ef7d68b798f01cb37a7cc2204b94ae139896eaae (patch) | |
tree | f78113cee67653d27695a15ed30c1ecb8cf391ab /drivers/staging/vt6656/dpc.c | |
parent | 274fca52f11e2a4e911b5868ccc3e1659b403e5e (diff) | |
download | kernel_samsung_smdk4412-ef7d68b798f01cb37a7cc2204b94ae139896eaae.zip kernel_samsung_smdk4412-ef7d68b798f01cb37a7cc2204b94ae139896eaae.tar.gz kernel_samsung_smdk4412-ef7d68b798f01cb37a7cc2204b94ae139896eaae.tar.bz2 |
staging: vt6656: [BUG] - Failed connection, incorrect endian.
commit aa209eef3ce8419ff2926c2fa944dfbfb5afbacb upstream.
Hi,
This patch fixes a bug with driver failing to negotiate a connection.
The bug was traced to commit
203e4615ee9d9fa8d3506b9d0ef30095e4d5bc90
staging: vt6656: removed custom definitions of Ethernet packet types
In that patch, definitions in include/linux/if_ether.h replaced ones
in tether.h which had both big and little endian definitions.
include/linux/if_ether.h only refers to big endian values, cpu_to_be16
should be used for the correct endian architectures.
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6656/dpc.c')
-rw-r--r-- | drivers/staging/vt6656/dpc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/vt6656/dpc.c b/drivers/staging/vt6656/dpc.c index cb817ce..921dae5 100644 --- a/drivers/staging/vt6656/dpc.c +++ b/drivers/staging/vt6656/dpc.c @@ -200,7 +200,7 @@ s_vProcessRxMACHeader ( } else if (!compare_ether_addr(pbyRxBuffer, &pDevice->abySNAP_RFC1042[0])) { cbHeaderSize += 6; pwType = (PWORD) (pbyRxBufferAddr + cbHeaderSize); - if ((*pwType == cpu_to_le16(ETH_P_IPX)) || + if ((*pwType == cpu_to_be16(ETH_P_IPX)) || (*pwType == cpu_to_le16(0xF380))) { cbHeaderSize -= 8; pwType = (PWORD) (pbyRxBufferAddr + cbHeaderSize); |