Commit 7135d9a7 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman
Browse files

staging: vt6655: Fix wReqCount to __le16



Should be __le16 and do and correct endian conversion.

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f1e3e921
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -573,17 +573,17 @@ CARDvSafeResetRx(
	/* init state, all RD is chip's */
	for (uu = 0; uu < pDevice->sOpts.nRxDescs0; uu++) {
		pDesc = &(pDevice->aRD0Ring[uu]);
		pDesc->m_rd0RD0.wResCount = (unsigned short)(pDevice->rx_buf_sz);
		pDesc->m_rd0RD0.wResCount = cpu_to_le16(pDevice->rx_buf_sz);
		pDesc->m_rd0RD0.f1Owner = OWNED_BY_NIC;
		pDesc->m_rd1RD1.wReqCount = (unsigned short)(pDevice->rx_buf_sz);
		pDesc->m_rd1RD1.wReqCount = cpu_to_le16(pDevice->rx_buf_sz);
	}

	/* init state, all RD is chip's */
	for (uu = 0; uu < pDevice->sOpts.nRxDescs1; uu++) {
		pDesc = &(pDevice->aRD1Ring[uu]);
		pDesc->m_rd0RD0.wResCount = (unsigned short)(pDevice->rx_buf_sz);
		pDesc->m_rd0RD0.wResCount = cpu_to_le16(pDevice->rx_buf_sz);
		pDesc->m_rd0RD0.f1Owner = OWNED_BY_NIC;
		pDesc->m_rd1RD1.wReqCount = (unsigned short)(pDevice->rx_buf_sz);
		pDesc->m_rd1RD1.wReqCount = cpu_to_le16(pDevice->rx_buf_sz);
	}

	/* set perPkt mode */
+3 −3
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ typedef struct tagDEVICE_RD_INFO {
#ifdef __BIG_ENDIAN

typedef struct tagRDES0 {
	volatile unsigned short wResCount;
	volatile __le16 wResCount;
	union {
		volatile u16    f15Reserved;
		struct {
@@ -190,7 +190,7 @@ SRDES0, *PSRDES0;
#else

typedef struct tagRDES0 {
	unsigned short wResCount;
	__le16         wResCount;
	unsigned short f15Reserved:15;
	unsigned short f1Owner:1;
} __attribute__ ((__packed__))
@@ -199,7 +199,7 @@ SRDES0;
#endif

typedef struct tagRDES1 {
	unsigned short wReqCount;
	__le16	       wReqCount;
	unsigned short wReserved;
} __attribute__ ((__packed__))
SRDES1;
+1 −1
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ bool vnt_receive_frame(struct vnt_private *priv, PSRxDesc curr_rd)
			 priv->rx_buf_sz, DMA_FROM_DEVICE);

	frame_size = le16_to_cpu(curr_rd->m_rd1RD1.wReqCount)
			- cpu_to_le16(curr_rd->m_rd0RD0.wResCount);
			- le16_to_cpu(curr_rd->m_rd0RD0.wResCount);

	if ((frame_size > 2364) || (frame_size < 33)) {
		/* Frame Size error drop this packet.*/