Forgot to set IFM_ETHER in all drivers; "ethernet" now also sets it just in case.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20561 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2007-04-04 17:04:54 +00:00
parent b7c0eba571
commit 0cac8bd145
4 changed files with 6 additions and 3 deletions

View File

@ -259,7 +259,7 @@ b44_ioctl(void *cookie,uint32 op,void *data,size_t len)
{
ether_link_state_t state;
state.media = (pUmDevice->lm_dev.LinkStatus
== LM_STATUS_LINK_DOWN) ? IFM_ACTIVE : 0;
== LM_STATUS_LINK_DOWN ? IFM_ACTIVE : 0) | IFM_ETHER;
switch (pUmDevice->lm_dev.LineSpeed) {
case LM_LINE_SPEED_10MBPS:
state.media |= IFM_10_T;

View File

@ -495,7 +495,7 @@ b57_ioctl(void *cookie,uint32 op,void *data,size_t len)
{
ether_link_state_t state;
state.media = (pUmDevice->lm_dev.LinkStatus
== LM_STATUS_LINK_DOWN) ? IFM_ACTIVE : 0;
== LM_STATUS_LINK_DOWN ? IFM_ACTIVE : 0) | IFM_ETHER;
switch (pUmDevice->lm_dev.LineSpeed) {
case LM_LINE_SPEED_10MBPS:
state.media |= IFM_10_T;

View File

@ -390,7 +390,7 @@ device_ioctl(void *data, uint32 msg, void *buffer, size_t bufferLength)
case ETHER_GET_LINK_STATE:
{
ether_link_state_t state;
state.media = (info->link ? IFM_ACTIVE : 0)
state.media = (info->link ? IFM_ACTIVE : 0) | IFM_ETHER
| (info->full_duplex ? IFM_FULL_DUPLEX : IFM_HALF_DUPLEX)
| (info->speed == LINK_SPEED_100_MBIT ? IFM_100_TX : IFM_10_T);
state.speed = info->speed == LINK_SPEED_100_MBIT

View File

@ -57,6 +57,9 @@ update_link_state(ethernet_device *device, bool notify = true)
return EOPNOTSUPP;
}
state.media |= IFM_ETHER;
// make sure the media type is returned correctly
if (device->media != state.media
|| device->link_quality != state.quality
|| device->link_speed != state.speed) {