lkml.org 
[lkml]   [2007]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 31/54] TG3: Fix link problem on Dells onboard 5906.
    -stable review patch.  If anyone has any objections, please let us know.
    ---------------------

    From: <mchan@broadcom.com>

    The bug is caused by code that always set
    (TG3_FLAG_USE_MI_INTERRUPT | TG3_FLAG_USE_LINKCHG_REG) on all Dell's
    onboard devices. With these 2 flags set, the link status is polled
    by tg3_timer() and will only work when the PHY is set up to interrupt
    the MAC on link changes. This breaks 5906 because the 5906 PHY does
    not support TG3_FLAG_USE_MI_INTERRUPT the same as other PHYs.

    For correctness, only 5701 on Dell systems needs these 2 flags to be
    set. This change will fix the 5906 problem and will change other
    Dell devices except 5700 and 5701 to use the more efficient
    interrupt-driven link changes.

    Update version to 3.75.2.

    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/net/tg3.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- linux-2.6.21.4.orig/drivers/net/tg3.c
    +++ linux-2.6.21.4/drivers/net/tg3.c
    @@ -64,8 +64,8 @@

    #define DRV_MODULE_NAME "tg3"
    #define PFX DRV_MODULE_NAME ": "
    -#define DRV_MODULE_VERSION "3.75.1"
    -#define DRV_MODULE_RELDATE "May 7, 2007"
    +#define DRV_MODULE_VERSION "3.75.2"
    +#define DRV_MODULE_RELDATE "June 5, 2007"

    #define TG3_DEF_MAC_MODE 0
    #define TG3_DEF_RX_MODE 0
    @@ -10942,6 +10942,7 @@ static int __devinit tg3_get_invariants(
    * upon subsystem IDs.
    */
    if (tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL &&
    + GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701 &&
    !(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) {
    tp->tg3_flags |= (TG3_FLAG_USE_MI_INTERRUPT |
    TG3_FLAG_USE_LINKCHG_REG);
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-08 09:53    [W:4.045 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site