Don't read the PCI config space during mii operations. Instead save whether
or not we have to limit the PHY detection in the softc structure. Then just check the flag. Suggested by: jdp Reviewed by: jdp MFC after: 3 days
This commit is contained in:
parent
7f724f8b51
commit
740f8a4472
@ -380,9 +380,7 @@ static int ste_miibus_readreg(dev, phy, reg)
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
|
||||
if (pci_get_vendor(dev) == DL_VENDORID &&
|
||||
pci_get_device(dev) == DL_DEVICEID_550TX &&
|
||||
phy != 0)
|
||||
if ( sc->ste_one_phy && phy != 0 )
|
||||
return (0);
|
||||
|
||||
bzero((char *)&frame, sizeof(frame));
|
||||
@ -906,6 +904,13 @@ static int ste_attach(dev)
|
||||
bzero(sc, sizeof(struct ste_softc));
|
||||
sc->ste_dev = dev;
|
||||
|
||||
/*
|
||||
* Only use the first PHY since this chip reports multiple
|
||||
*/
|
||||
if (pci_get_vendor(dev) == DL_VENDORID &&
|
||||
pci_get_device(dev) == DL_DEVICEID_550TX )
|
||||
sc->ste_one_phy = 1;
|
||||
|
||||
mtx_init(&sc->ste_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK,
|
||||
MTX_DEF | MTX_RECURSE);
|
||||
STE_LOCK(sc);
|
||||
|
@ -525,6 +525,7 @@ struct ste_softc {
|
||||
struct ste_chain_data ste_cdata;
|
||||
struct callout_handle ste_stat_ch;
|
||||
struct mtx ste_mtx;
|
||||
u_int8_t ste_one_phy;
|
||||
};
|
||||
|
||||
#define STE_LOCK(_sc) mtx_lock(&(_sc)->ste_mtx)
|
||||
|
Loading…
x
Reference in New Issue
Block a user