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

Re: kernel/3551: 3com 3CSOHO100B-TX not recognized by dc(4) - patch included



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

From: Otto Moerbeek <otto_(_at_)_drijf_(_dot_)_net>
To: christoph_(_dot_)_scheurer_(_at_)_ch_(_dot_)_tum_(_dot_)_de
Cc: gnats_(_at_)_openbsd_(_dot_)_org, GNATS Filer <gnats_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org>,
        bugs_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org
Subject: Re: kernel/3551: 3com 3CSOHO100B-TX not recognized by dc(4) - patch
 included
Date: Tue, 4 Nov 2003 15:54:17 +0100 (CET)

 This is already in -current:
 
 <http://www.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/if_dc_pci.c.diff?r1=1.41&r2=1.42&f=h>
 
 	-Otto
 
 On Tue, 4 Nov 2003 christoph_(_dot_)_scheurer_(_at_)_ch_(_dot_)_tum_(_dot_)_de wrote:
 
 > >Number:         3551
 > >Category:       kernel
 > >Synopsis:       3com 3CSOHO100B-TX not recognized by dc(4) - patch included
 > >Confidential:   yes
 > >Severity:       critical
 > >Priority:       medium
 > >Responsible:    bugs
 > >State:          open
 > >Quarter:        
 > >Keywords:       
 > >Date-Required:
 > >Class:          sw-bug
 > >Submitter-Id:   net
 > >Arrival-Date:   Tue Nov 04 14:40:01 GMT 2003
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Christoph Scheurer
 > >Release:        OPENBSD_3_4 patch branch
 > >Organization:
 > TU Muenchen
 > >Environment:
 > 	
 > 	System      : OpenBSD 3.4
 > 	Architecture: OpenBSD.i386
 > 	Machine     : i386
 > >Description:
 > 	
 > 	The card is recognized by the PCI subsystem but not initialized by the 
 > 	dc(4) driver due to the missing ID entries.
 > >How-To-Repeat:
 > 	
 > 	Install a 3CSOHO100B-TX card and reboot.
 > >Fix:
 > 	
 > 	The following patch makes this card known to the dc(4) driver. It has
 > 	worked reliably for me for some time. The patch is modelled after the
 > 	corresponding patch in the FreeBSD source tree.
 > 
 > 	With the patched driver the kernel correctly recognizes the card:
 > 
 > 	dc0 at pci0 dev 14 function 0 "3Com 3cSOHO 100B-TX" rev 0x31: irq 7, address 00:04:75:b2:7d:0f
 > 	ukphy0 at dc0 phy 1: Generic IEEE 802.3u media interface
 > 
 > --- sys/dev/pci/if_dc_pci.c.orig	Thu Oct 16 16:57:48 2003
 > +++ sys/dev/pci/if_dc_pci.c	Fri Oct 17 09:49:45 2003
 > @@ -99,10 +99,11 @@
 >  	{ PCI_VENDOR_LITEON, PCI_PRODUCT_LITEON_PNICII },
 >  	{ PCI_VENDOR_ACCTON, PCI_PRODUCT_ACCTON_EN1217 },
 >  	{ PCI_VENDOR_ACCTON, PCI_PRODUCT_ACCTON_EN2242 },
 >  	{ PCI_VENDOR_CONEXANT, PCI_PRODUCT_CONEXANT_RS7112 },
 >  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_21145 },
 > +	{ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3CSHO100BTX },
 >  	{ 0, 0 }
 >  };
 >  
 >  int dc_pci_match(struct device *, void *, void *);
 >  void dc_pci_attach(struct device *, struct device *, void *);
 > @@ -322,10 +323,21 @@
 >  			command = pci_conf_read(pc, pa->pa_tag, DC_PCI_CFLT);
 >  			command &= 0xFFFF00FF;
 >  			command |= 0x00008000;
 >  			pci_conf_write(pc, pa->pa_tag, DC_PCI_CFLT, command);
 >  		}
 > +		break;
 > +	case PCI_VENDOR_3COM:
 > +		if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_3COM_3CSHO100BTX) {
 > +			found = 1;
 > +			sc->dc_type = DC_TYPE_AN983;
 > +			sc->dc_flags |= DC_TX_USE_TX_INTR;
 > +			sc->dc_flags |= DC_TX_ADMTEK_WAR;
 > +			sc->dc_pmode = DC_PMODE_MII;
 > +		}
 > +		dc_eeprom_width(sc);
 > +		dc_read_srom(sc, sc->dc_romwidth);
 >  		break;
 >  	case PCI_VENDOR_ADMTEK:
 >  		if (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ADMTEK_AL981) {
 >  			found = 1;
 >  			sc->dc_type = DC_TYPE_AL981;
 > 
 > 
 > >Release-Note:
 > >Audit-Trail:
 > >Unformatted:



Visit your host, monkey.org