rem: dprintf(DEVICE_NAME ": no link detected (status = %lx)\n", status);
add: dprintf(DEVICE_NAME ": no link detected (status = %x)\n", status);
context: sis900_readMode(struct sis_info *info){	struct mii_phy *phy = info->currentPHY;	uint16 autoAdv, autoLinkPartner;	int32 speed, duplex;	uint16 status = mdio_status(info);	if (!(status & MII_STATUS_LINK)) {		dprintf(DEVICE_NAME ": no link detected (status = %lx)\n", status);		return 0;	}	// auto negotiation completed	autoAdv = mdio_read(info, MII_AUTONEG_ADV);	autoLinkPartner = mdio_read(info, MII_AUTONEG_LINK_PARTNER);	status = autoAdv & autoLinkPartner;	speed = status & (MII_NWAY_TX | MII_NWAY_TX_FDX) ? LINK_SPEED_100_MBIT : LINK_SPEED_10_MBIT;	duplex = status & (MII_NWAY_TX_FDX | MII_NWAY_T_FDX) ? LINK_FULL_DUPLEX : LINK_HALF_DUPLEX;	info->autoNegotiationComplete = true;	// workaround for Realtek RTL8201 PHY issue	if (phy->id0 == PHY_ID0_REALTEK_8201 && (phy->id1 & 0xFFF0) == PHY_ID1_REALTEK_8201) {		if (mdio_read(info, MII_CONTROL) & MII_CONTROL_FULL_DUPLEX)			duplex = LINK_FULL_DUPLEX;		if (mdio_read(info, 0x0019) & 0x01)			speed = LINK_SPEED_100_MBIT;	}	dprintf(DEVICE_NAME ": linked, 10%s MBit, %s duplex\n",				speed == LINK_SPEED_100_MBIT ? "0" : "",				duplex == LINK_FULL_DUPLEX ? "full" : "half");	return speed | duplex;}