s390/qeth: remove duplicated carrier state tracking
The netdevice is always available, apply any carrier state changes to it without caching them. On a STARTLAN event (ie. carrier-up), defer updating the state to qeth_core_hardsetup_card() in the subsequent recovery action. Also remove the carrier-state checks from the xmit routines. Stopping transmission on carrier-down is the responsibility of upper-level code (eg see dev_direct_xmit()). Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
d782d80f36
commit
91cc98f51e
@@ -2233,7 +2233,7 @@ static netdev_tx_t qeth_l3_hard_start_xmit(struct sk_buff *skb,
|
||||
goto tx_drop;
|
||||
}
|
||||
|
||||
if (card->state != CARD_STATE_UP || !card->lan_online) {
|
||||
if (card->state != CARD_STATE_UP) {
|
||||
card->stats.tx_carrier_errors++;
|
||||
goto tx_drop;
|
||||
}
|
||||
@@ -2573,10 +2573,6 @@ static int __qeth_l3_set_online(struct ccwgroup_device *gdev, int recovery_mode)
|
||||
|
||||
qeth_set_allowed_threads(card, 0xffffffff, 0);
|
||||
qeth_l3_recover_ip(card);
|
||||
if (card->lan_online)
|
||||
netif_carrier_on(card->dev);
|
||||
else
|
||||
netif_carrier_off(card->dev);
|
||||
|
||||
qeth_enable_hw_features(card->dev);
|
||||
if (recover_flag == CARD_STATE_RECOVER) {
|
||||
|
Reference in New Issue
Block a user