summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2010-01-20 16:58:08 (GMT)
committerDavid S. Miller <davem@davemloft.net>2010-01-21 03:21:01 (GMT)
commitc2353a3214ff5813c4b719b3cdacbe939b1c63a0 (patch)
tree5f6f3b3cb5cb9e410baffd9fabd3e5c10c8a7843 /drivers
parent5fd68fbdaf75505a2400826c7f314a1f3121a5f7 (diff)
downloadlinux-fsl-qoriq-c2353a3214ff5813c4b719b3cdacbe939b1c63a0.tar.xz
tg3: Fix tx mailbox initialization
If a device supports MSI-X interrupts, the driver assumes TSS will be available. This is not true for the 57765. This patch changes the code so that only the default tx mailbox is initialized if TSS is not available. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Benjamin Li <benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/tg3.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 72d1e18..dffa51a 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -7440,10 +7440,13 @@ static void tg3_rings_reset(struct tg3 *tp)
for (i = 1; i < TG3_IRQ_MAX_VECS; i++) {
tp->napi[i].tx_prod = 0;
tp->napi[i].tx_cons = 0;
- tw32_mailbox(tp->napi[i].prodmbox, 0);
+ if (tp->tg3_flags3 & TG3_FLG3_ENABLE_TSS)
+ tw32_mailbox(tp->napi[i].prodmbox, 0);
tw32_rx_mbox(tp->napi[i].consmbox, 0);
tw32_mailbox_f(tp->napi[i].int_mbox, 1);
}
+ if (!(tp->tg3_flags3 & TG3_FLG3_ENABLE_TSS))
+ tw32_mailbox(tp->napi[0].prodmbox, 0);
} else {
tp->napi[0].tx_prod = 0;
tp->napi[0].tx_cons = 0;