From e09a9077283327dae444242a7cde680c2b319bef Mon Sep 17 00:00:00 2001 From: Sriram Date: Thu, 24 Sep 2009 19:15:18 +0000 Subject: [PATCH] --- yaml --- r: 166355 b: refs/heads/master c: 43c2ed8e9e2d285be49d7ea1afc05071d5d7b0f9 h: refs/heads/master i: 166353: f67a66d38767f271806edb2a5d526caf7c9ad2c3 166351: 1300de594665e440bc5cbfc3cd3a55a0ea320e5f v: v3 --- [refs] | 2 +- trunk/drivers/net/davinci_emac.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b26779c3077d..46a25b13e65e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0181d420cc1a506ca4418ce90e2ad89831eee2c +refs/heads/master: 43c2ed8e9e2d285be49d7ea1afc05071d5d7b0f9 diff --git a/trunk/drivers/net/davinci_emac.c b/trunk/drivers/net/davinci_emac.c index d465eaa796c4..65a2d0ba64e2 100644 --- a/trunk/drivers/net/davinci_emac.c +++ b/trunk/drivers/net/davinci_emac.c @@ -200,6 +200,9 @@ static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1"; /** NOTE:: For DM646x the IN_VECTOR has changed */ #define EMAC_DM646X_MAC_IN_VECTOR_RX_INT_VEC BIT(EMAC_DEF_RX_CH) #define EMAC_DM646X_MAC_IN_VECTOR_TX_INT_VEC BIT(16 + EMAC_DEF_TX_CH) +#define EMAC_DM646X_MAC_IN_VECTOR_HOST_INT BIT(26) +#define EMAC_DM646X_MAC_IN_VECTOR_STATPEND_INT BIT(27) + /* CPPI bit positions */ #define EMAC_CPPI_SOP_BIT BIT(31) @@ -2167,7 +2170,11 @@ static int emac_poll(struct napi_struct *napi, int budget) emac_int_enable(priv); } - if (unlikely(status & EMAC_DM644X_MAC_IN_VECTOR_HOST_INT)) { + mask = EMAC_DM644X_MAC_IN_VECTOR_HOST_INT; + if (priv->version == EMAC_VERSION_2) + mask = EMAC_DM646X_MAC_IN_VECTOR_HOST_INT; + + if (unlikely(status & mask)) { u32 ch, cause; dev_err(emac_dev, "DaVinci EMAC: Fatal Hardware Error\n"); netif_stop_queue(ndev);