Skip to content

Commit

Permalink
ks8842: Fix ks8842_tx_frame() for 16bit case.
Browse files Browse the repository at this point in the history
As reported by Andrew:

drivers/net/ks8842.c: In function 'ks8842_handle_rx':
drivers/net/ks8842.c:428: warning: 'status' may be used uninitialized in this function

Just use the 32-bit status for all reads, and delete the useless
cast to 'int' when reading a u16 into 'len'.

Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jul 19, 2010
1 parent d6d9ca0 commit e2df8b7
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/net/ks8842.c
Original file line number Diff line number Diff line change
Expand Up @@ -424,16 +424,14 @@ static int ks8842_tx_frame(struct sk_buff *skb, struct net_device *netdev)
static void ks8842_rx_frame(struct net_device *netdev,
struct ks8842_adapter *adapter)
{
u16 status16;
u32 status;
int len;

if (adapter->conf_flags & KS884X_16BIT) {
status16 = ks8842_read16(adapter, 17, REG_QMU_DATA_LO);
len = (int)ks8842_read16(adapter, 17, REG_QMU_DATA_HI);
len &= 0xffff;
status = ks8842_read16(adapter, 17, REG_QMU_DATA_LO);
len = ks8842_read16(adapter, 17, REG_QMU_DATA_HI);
netdev_dbg(netdev, "%s - rx_data: status: %x\n",
__func__, status16);
__func__, status);
} else {
status = ks8842_read32(adapter, 17, REG_QMU_DATA_LO);
len = (status >> 16) & 0x7ff;
Expand Down

0 comments on commit e2df8b7

Please sign in to comment.