mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
qlge: bugfix: Restoring the vlan setting.
Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f203af7088
commit
c1b60092cf
@ -2385,6 +2385,20 @@ static void qlge_vlan_rx_kill_vid(struct net_device *ndev, u16 vid)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void qlge_restore_vlan(struct ql_adapter *qdev)
|
||||||
|
{
|
||||||
|
qlge_vlan_rx_register(qdev->ndev, qdev->vlgrp);
|
||||||
|
|
||||||
|
if (qdev->vlgrp) {
|
||||||
|
u16 vid;
|
||||||
|
for (vid = 0; vid < VLAN_N_VID; vid++) {
|
||||||
|
if (!vlan_group_get_device(qdev->vlgrp, vid))
|
||||||
|
continue;
|
||||||
|
qlge_vlan_rx_add_vid(qdev->ndev, vid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* MSI-X Multiple Vector Interrupt Handler for inbound completions. */
|
/* MSI-X Multiple Vector Interrupt Handler for inbound completions. */
|
||||||
static irqreturn_t qlge_msix_rx_isr(int irq, void *dev_id)
|
static irqreturn_t qlge_msix_rx_isr(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
@ -3960,6 +3974,9 @@ static int ql_adapter_up(struct ql_adapter *qdev)
|
|||||||
clear_bit(QL_PROMISCUOUS, &qdev->flags);
|
clear_bit(QL_PROMISCUOUS, &qdev->flags);
|
||||||
qlge_set_multicast_list(qdev->ndev);
|
qlge_set_multicast_list(qdev->ndev);
|
||||||
|
|
||||||
|
/* Restore vlan setting. */
|
||||||
|
qlge_restore_vlan(qdev);
|
||||||
|
|
||||||
ql_enable_interrupts(qdev);
|
ql_enable_interrupts(qdev);
|
||||||
ql_enable_all_completion_interrupts(qdev);
|
ql_enable_all_completion_interrupts(qdev);
|
||||||
netif_tx_start_all_queues(qdev->ndev);
|
netif_tx_start_all_queues(qdev->ndev);
|
||||||
|
Loading…
Reference in New Issue
Block a user