tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: if_wm between netbsd-6 and netbsd-7 issue



Hi, all


On 2015/01/12 22:38, Edgar Fuß wrote:
I have a similar problem with a "IBM PRO/1000 PT Dual Port Server Adapter Low Profile - 39Y6128" (in a HP MicroServer) that was at least recognized with 6, but on 7, I get:

wm0 at pci2 dev 0 function 0: Intel PRO/1000 PT (82571EB) (rev. 0x06)
wm0: interrupting at ioapic0 pin 18
wm0: PCI-Express bus
wm0: could not acquire SWSM SMBI
wm0: wm_nvm_acquire: failed to get semaphore
wm0: could not acquire SWSM SMBI
wm0: wm_nvm_acquire: failed to get semaphore
wm0: No EEPROM
wm0: unable to read Ethernet address
wm1 at pci2 dev 0 function 1: Intel PRO/1000 PT (82571EB) (rev. 0x06)
wm1: interrupting at ioapic0 pin 19
wm1: PCI-Express bus
wm1: could not acquire SWSM SMBI
wm1: wm_nvm_acquire: failed to get semaphore
wm1: could not acquire SWSM SMBI
wm1: wm_nvm_acquire: failed to get semaphore
wm1: No EEPROM
wm1: unable to read Ethernet address

Could you try the following patch?

Index: if_wm.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/if_wm.c,v
retrieving revision 1.309
diff -u -r1.309 if_wm.c
--- if_wm.c	16 Jan 2015 10:36:14 -0000	1.309
+++ if_wm.c	27 Jan 2015 09:11:03 -0000
@@ -1844,7 +1844,7 @@
 	case WM_T_82571:
 	case WM_T_82572:
 		reg = CSR_READ(sc, WMREG_SWSM2);
-		if ((reg & SWSM2_LOCK) != 0) {
+		if ((reg & SWSM2_LOCK) == 0) {
 			CSR_WRITE(sc, WMREG_SWSM2, reg | SWSM2_LOCK);
 			force_clear_smbi = true;
 		} else



--
-----------------------------------------------
                SAITOH Masanobu (msaitoh%execsw.org@localhost
                                 msaitoh%netbsd.org@localhost)


Home | Main Index | Thread Index | Old Index