The following reply was made to PR kernel/6427; it has been noted by GNATS.

From: Jonathan Gray <j...@goblin.cx>
To: Sebastian Benoit <benoit-li...@fb12.de>
Cc: gn...@cvs.openbsd.org, b...@cvs.openbsd.org
Subject: Re: kernel/6427: Intel em(4) Intel PRO/1000 QP (82576) fails:
 Unable to initialize
Date: Mon, 12 Jul 2010 01:40:05 +1000

 On Sun, Jul 11, 2010 at 03:36:42PM +0200, Sebastian Benoit wrote:
 > Hi, 
 > 
 > i found the problem:
 > 
 > if_em_hw.c patch 1.46, specifically the function
 > em_set_pciex_completion_timeout() breaks my em card:
 
 Can you try this diff from SAITOH Masanobu?
 
 Index: if_em_hw.c
 ===================================================================
 RCS file: /cvs/src/sys/dev/pci/if_em_hw.c,v
 retrieving revision 1.46
 diff -u -r1.46 if_em_hw.c
 --- if_em_hw.c 2 Mar 2010 22:09:57 -0000       1.46
 +++ if_em_hw.c 4 Apr 2010 13:41:09 -0000
 @@ -527,6 +527,7 @@
                hw->asf_firmware_present = TRUE;
                break;
        case em_80003es2lan:
 +      case em_82575:
                hw->swfw_sync_present = TRUE;
                /* FALLTHROUGH */
        case em_82571:
 @@ -3780,7 +3781,7 @@
        uint16_t swfw;
        DEBUGFUNC("em_read_phy_reg");
  
 -      if ((hw->mac_type == em_80003es2lan) &&
 +      if (((hw->mac_type == em_80003es2lan) || (hw->mac_type == em_82575)) &&
            (E1000_READ_REG(hw, STATUS) & E1000_STATUS_FUNC_1)) {
                swfw = E1000_SWFW_PHY1_SM;
        } else {
 @@ -3937,7 +3938,7 @@
        uint16_t swfw;
        DEBUGFUNC("em_write_phy_reg");
  
 -      if ((hw->mac_type == em_80003es2lan) &&
 +      if (((hw->mac_type == em_80003es2lan) || (hw->mac_type == em_82575)) &&
            (E1000_READ_REG(hw, STATUS) & E1000_STATUS_FUNC_1)) {
                swfw = E1000_SWFW_PHY1_SM;
        } else {
 @@ -4150,7 +4151,8 @@
        DEBUGOUT("Resetting Phy...\n");
  
        if (hw->mac_type > em_82543 && hw->mac_type != em_icp_xxxx) {
 -              if ((hw->mac_type == em_80003es2lan) &&
 +              if (((hw->mac_type == em_80003es2lan) ||
 +                      (hw->mac_type == em_82575)) &&
                    (E1000_READ_REG(hw, STATUS) & E1000_STATUS_FUNC_1)) {
                        swfw = E1000_SWFW_PHY1_SM;
                } else {

Reply via email to