staging: et131x: Fix link detection signalling
Remove redundant code around netif_carrier_XXX calls, and associated adapter->media_state, which prevented the link from being reported as off. Tested on an ET-1310 device. Signed-off-by: Mark Einon <mark.einon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
10f00a49b0
commit
c922d1241f
@ -737,16 +737,6 @@ void et131x_mii_check(struct et131x_adapter *adapter,
|
||||
if (bmsr_ints & MI_BMSR_LINK_STATUS) {
|
||||
if (bmsr & MI_BMSR_LINK_STATUS) {
|
||||
adapter->boot_coma = 20;
|
||||
|
||||
/* Update our state variables and indicate the
|
||||
* connected state
|
||||
*/
|
||||
spin_lock_irqsave(&adapter->lock, flags);
|
||||
|
||||
adapter->media_state = NETIF_STATUS_MEDIA_CONNECT;
|
||||
|
||||
spin_unlock_irqrestore(&adapter->lock, flags);
|
||||
|
||||
netif_carrier_on(adapter->netdev);
|
||||
} else {
|
||||
dev_warn(&adapter->pdev->dev,
|
||||
@ -768,21 +758,7 @@ void et131x_mii_check(struct et131x_adapter *adapter,
|
||||
et131x_mii_write(adapter, 0x12, register18);
|
||||
}
|
||||
|
||||
/* For the first N seconds of life, we are in "link
|
||||
* detection" When we are in this state, we should
|
||||
* only report "connected". When the LinkDetection
|
||||
* Timer expires, we can report disconnected (handled
|
||||
* in the LinkDetectionDPC).
|
||||
*/
|
||||
if (adapter->media_state == NETIF_STATUS_MEDIA_DISCONNECT) {
|
||||
spin_lock_irqsave(&adapter->lock, flags);
|
||||
adapter->media_state =
|
||||
NETIF_STATUS_MEDIA_DISCONNECT;
|
||||
spin_unlock_irqrestore(&adapter->lock,
|
||||
flags);
|
||||
|
||||
netif_carrier_off(adapter->netdev);
|
||||
}
|
||||
netif_carrier_off(adapter->netdev);
|
||||
|
||||
adapter->linkspeed = 0;
|
||||
adapter->duplex_mode = 0;
|
||||
|
@ -196,12 +196,6 @@ struct et131x_adapter {
|
||||
u8 ai_force_duplex; /* duplex setting */
|
||||
u16 ai_force_speed; /* 'Speed', user over-ride of line speed */
|
||||
u8 flowcontrol; /* flow control validated by the far-end */
|
||||
enum {
|
||||
NETIF_STATUS_INVALID = 0,
|
||||
NETIF_STATUS_MEDIA_CONNECT,
|
||||
NETIF_STATUS_MEDIA_DISCONNECT,
|
||||
NETIF_STATUS_MAX
|
||||
} media_state;
|
||||
|
||||
/* Minimize init-time */
|
||||
struct timer_list error_timer;
|
||||
|
@ -298,27 +298,6 @@ void et131x_error_timer_handler(unsigned long data)
|
||||
TX_ERROR_PERIOD * HZ / 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
* et131x_link_detection_handler
|
||||
*
|
||||
* Timer function for link up at driver load time
|
||||
*/
|
||||
void et131x_link_detection_handler(unsigned long data)
|
||||
{
|
||||
struct et131x_adapter *adapter = (struct et131x_adapter *) data;
|
||||
unsigned long flags;
|
||||
|
||||
if (adapter->media_state == 0) {
|
||||
spin_lock_irqsave(&adapter->lock, flags);
|
||||
|
||||
adapter->media_state = NETIF_STATUS_MEDIA_DISCONNECT;
|
||||
|
||||
spin_unlock_irqrestore(&adapter->lock, flags);
|
||||
|
||||
netif_carrier_off(adapter->netdev);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* et131x_configure_global_regs - configure JAGCore global regs
|
||||
* @adapter: pointer to our adapter structure
|
||||
@ -718,7 +697,7 @@ static int __devinit et131x_pci_setup(struct pci_dev *pdev,
|
||||
adapter->error_timer.data = (unsigned long)adapter;
|
||||
|
||||
/* Initialize link state */
|
||||
et131x_link_detection_handler((unsigned long)adapter);
|
||||
netif_carrier_off(adapter->netdev);
|
||||
|
||||
/* Initialize variable for counting how long we do not have
|
||||
link status */
|
||||
|
Loading…
Reference in New Issue
Block a user