patch-2.4.22 linux-2.4.22/drivers/net/e100/e100_phy.c
Next file: linux-2.4.22/drivers/net/e100/e100_test.c
Previous file: linux-2.4.22/drivers/net/e100/e100_main.c
Back to the patch index
Back to the overall index
- Lines: 26
- Date:
2003-08-25 04:44:42.000000000 -0700
- Orig file:
linux-2.4.21/drivers/net/e100/e100_phy.c
- Orig date:
2003-06-13 07:51:34.000000000 -0700
diff -urN linux-2.4.21/drivers/net/e100/e100_phy.c linux-2.4.22/drivers/net/e100/e100_phy.c
@@ -628,8 +628,6 @@
u16 control;
unsigned long expires;
- e100_phy_reset(bdp);
-
bdp->flags |= DF_SPEED_FORCED;
e100_mdi_read(bdp, MII_BMCR, bdp->phy_addr, &control);
@@ -912,11 +910,16 @@
u16 ctrl_reg;
ctrl_reg = BMCR_RESET;
e100_mdi_write(bdp, MII_BMCR, bdp->phy_addr, ctrl_reg);
+ /* ieee 802.3 : The reset process shall be completed */
+ /* within 0.5 seconds from the settting of PHY reset bit. */
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_timeout(HZ / 2);
}
unsigned char __devinit
e100_phy_init(struct e100_private *bdp)
{
+ e100_phy_reset(bdp);
e100_phy_address_detect(bdp);
e100_phy_isolate(bdp);
e100_phy_id_detect(bdp);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)