[haiku-commits] r35019 - haiku/trunk/src/add-ons/kernel/drivers/network/usb_davicom
- From: pulkomandy@xxxxxxxxx
- To: haiku-commits@xxxxxxxxxxxxx
- Date: Mon, 11 Jan 2010 22:39:43 +0100 (CET)
Author: pulkomandy
Date: 2010-01-11 22:39:43 +0100 (Mon, 11 Jan 2010)
New Revision: 35019
Changeset: http://dev.haiku-os.org/changeset/35019/haiku
Modified:
haiku/trunk/src/add-ons/kernel/drivers/network/usb_davicom/DavicomDevice.cpp
Log:
Fixed a stupid bug preventing media stauts to become active.
Modified:
haiku/trunk/src/add-ons/kernel/drivers/network/usb_davicom/DavicomDevice.cpp
===================================================================
---
haiku/trunk/src/add-ons/kernel/drivers/network/usb_davicom/DavicomDevice.cpp
2010-01-11 21:38:07 UTC (rev 35018)
+++
haiku/trunk/src/add-ons/kernel/drivers/network/usb_davicom/DavicomDevice.cpp
2010-01-11 21:39:43 UTC (rev 35019)
@@ -799,12 +799,15 @@
bool linkIsUp = (fNotifyBuffer[0] & NSR_LINKST) != 0;
- bool linkStateChange = linkIsUp != fHasConnection;
+ bool linkStateChange = (linkIsUp != fHasConnection);
fHasConnection = linkIsUp;
- if(linkStateChange) {
- TRACE("Link is now %s at %s Mb/s\n",
- fHasConnection ? "up" : "down", (fNotifyBuffer[0] &
NSR_SPEED) ? "10" : "100");
+ if (linkStateChange) {
+ if (fHasConnection) {
+ TRACE("Link is now up at %s Mb/s\n",
+ (fNotifyBuffer[0] & NSR_SPEED) ? "10" : "100");
+ } else
+ TRACE("Link is now down");
}
if (linkStateChange && fLinkStateChangeSem >= B_OK)
@@ -829,9 +832,9 @@
linkState->quality = 1000;
- uint16 mediumStatus = IFM_ETHER | IFM_100_TX;
+ linkState->media = IFM_ETHER | IFM_100_TX;
if (fHasConnection) {
- mediumStatus |= IFM_ACTIVE;
+ linkState->media |= IFM_ACTIVE;
result = _ReadRegister(NCR, 1, ®isterValue);
if (result != B_OK) {
TRACE_ALWAYS("Error reading NCR register! %x\n",result);
@@ -839,16 +842,14 @@
}
if (registerValue & NCR_FDX)
- mediumStatus |= IFM_FULL_DUPLEX;
+ linkState->media |= IFM_FULL_DUPLEX;
else
- mediumStatus |= IFM_HALF_DUPLEX;
+ linkState->media |= IFM_HALF_DUPLEX;
if (registerValue & NCR_LBK)
- mediumStatus |= IFM_LOOP;
+ linkState->media |= IFM_LOOP;
}
- linkState->media = mediumStatus;
-
TRACE_FLOW("Medium state: %s, %lld MBit/s, %s duplex.\n",
(linkState->media & IFM_ACTIVE)
? "active" : "inactive",
linkState->speed / 1000,
Other related posts:
- » [haiku-commits] r35019 - haiku/trunk/src/add-ons/kernel/drivers/network/usb_davicom - pulkomandy