Hi, We got some issue with 80003ES2LAN on-board GE NIC on Intel motherboard. May some experts kindly help ? Please copy my mailing address in your reply.
In a couple of instances, we observed CPU hang when reading following PHY registers respectively on on-board GE NIC [80003ES2LAN] on Intel motherboard. Related code snippet is copied below. Since those registers are related to swfw synchronization, we wonder whether the hang is purely due to hardware/PHY failure, or is probably due to any driver bug (e.g. related to swfw synchronization). Any comment or suggestion is highly appreciated. (1) swfw_sync = E1000_READ_REG(hw, E1000_SW_FW_SYNC) (2) swsm = E1000_READ_REG(hw, E1000_SWSM); Driver is e1000-7.5.5 [we noticed similar behavior in latest e1000e-0.4.1.7] firmware-version: 1.0-0 bus-info: 0000:05:00.0 OS is 2.6.12 mainline kernel. The e1000-7.5.5 driver code that causes cpu hang: 389 static s32 390 e1000_acquire_swfw_sync_80003es2lan(struct e1000_hw *hw, u16 mask) 391 { 392 u32 swfw_sync; 393 u32 swmask = mask; 394 u32 fwmask = mask << 16; 395 s32 ret_val = E1000_SUCCESS; 396 s32 i = 0, timeout = 200; 397 398 DEBUGFUNC("e1000_acquire_swfw_sync_80003es2lan"); 399 400 while (i < timeout) { 401 if (e1000_get_hw_semaphore_generic(hw)) { 402 ret_val = -E1000_ERR_SWFW_SYNC; 403 goto out; 404 } 405 406 swfw_sync = E1000_READ_REG(hw, E1000_SW_FW_SYNC); <==##### HANG ABOVE #####==> 407 if (!(swfw_sync & (fwmask | swmask))) 408 break; void e1000_put_hw_semaphore_generic(struct e1000_hw *hw) { u32 swsm; DEBUGFUNC("e1000_put_hw_semaphore_generic"); swsm = E1000_READ_REG(hw, E1000_SWSM); <==##### HANG ABOVE #####==> swsm &= ~(E1000_SWSM_SMBI | E1000_SWSM_SWESMBI); E1000_WRITE_REG(hw, E1000_SWSM, swsm); } # lspci | grep thern 05:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01) 05:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Thanks! -Yanping ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel