summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@iki.fi>2011-02-09 11:25:06 +0100
committerDavid S. Miller <davem@davemloft.net>2011-02-13 20:06:13 +0100
commitf45437efff460aa033978180da88229c5fc68455 (patch)
treedc74f6b039dd51aab0d5e4d9a66ae2178477a9eb
parentnet: make dev->master general (diff)
downloadlinux-f45437efff460aa033978180da88229c5fc68455.tar.xz
linux-f45437efff460aa033978180da88229c5fc68455.zip
tlan: Fix bugs introduced by the last tlan cleanup patch
Fix two bugs introduced by the commit c659c38b2796578638548b77ef626d93609ec8ac ("tlan: Code cleanup: checkpatch.pl is relatively happy now.") In that change, TLAN_CSTAT_READY was considered as a bit mask containing a single bit set while it was actually had two set instead. Many thanks to Dan Carpenter for finding the mistake. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tlan.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c
index 0678e7e71f19..e48a80885343 100644
--- a/drivers/net/tlan.c
+++ b/drivers/net/tlan.c
@@ -1522,7 +1522,8 @@ static u32 tlan_handle_tx_eof(struct net_device *dev, u16 host_int)
head_list = priv->tx_list + priv->tx_head;
head_list_phys = priv->tx_list_dma
+ sizeof(struct tlan_list)*priv->tx_head;
- if (head_list->c_stat & TLAN_CSTAT_READY) {
+ if ((head_list->c_stat & TLAN_CSTAT_READY)
+ == TLAN_CSTAT_READY) {
outl(head_list_phys, dev->base_addr + TLAN_CH_PARM);
ack |= TLAN_HC_GO;
} else {
@@ -1766,7 +1767,8 @@ static u32 tlan_handle_tx_eoc(struct net_device *dev, u16 host_int)
head_list = priv->tx_list + priv->tx_head;
head_list_phys = priv->tx_list_dma
+ sizeof(struct tlan_list)*priv->tx_head;
- if (head_list->c_stat & TLAN_CSTAT_READY) {
+ if ((head_list->c_stat & TLAN_CSTAT_READY)
+ == TLAN_CSTAT_READY) {
netif_stop_queue(dev);
outl(head_list_phys, dev->base_addr + TLAN_CH_PARM);
ack |= TLAN_HC_GO;