Netboot Mailing List (by thread)

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

Fix for ns8390.c probe hang

Further to my problem with failure at probe time of my PCI NE2000 clone
(and silly previous proposal re call to eth_pio_write at line 880 of
ns8390.c), here is a possible fix - hopefully not so silly. Test whether
probing a PCI board and, if so, go immediately into 16 bit mode before
the first memory test, i.e.

*** ns8390.c.orig       Fri Mar 17 07:53:06 2000
--- ns8390.c    Fri Mar 17 07:54:14 2000
*** 877,882 ****
--- 877,885 ----
                        outb(D8390_DCR_FT1 | D8390_DCR_LS, eth_nic_base + D8390_P0_DCR);
                        outb(MEM_8192, eth_nic_base + D8390_P0_PSTART);
                        outb(MEM_16384, eth_nic_base + D8390_P0_PSTOP);
+                       eth_flags |= FLAG_16BIT;
+ #endif
                        eth_pio_write(test, 8192, sizeof(test));
                        eth_pio_read(8192, testbuf, sizeof(test));
                        if (!memcmp(test, testbuf, sizeof(test)))

It seems that in the kernel driver (ne2k-pci.c) it is assumed that all
PCI boards operate (at least) in 16 bit mode so the above patch just
makes the same assumption.

I don't know (and can't test) if this may raise problems if a machine has
both PCI and ISA boards installed and an ISA board is 8390 based.


Chris Willing                      Telephone   (61-2) 9351 3005
VisLab, A28                        Facsimile   (61-2) 9351 1880
University of Sydney  
NSW 2006 Australia      

This Mail was sent to netboot mailing list by:
Christoph Willing <>
To get help about this list, send a mail with 'help' as the only string in
it's body to If you have problems with this list,
send a mail to

For requests or suggestions regarding this mailing list archive please write to