mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
bnxt_en: Handle VF_CFG_CHANGE event from firmware.
When the VF driver gets this event, the VF configuration has changed (such as default VLAN). The VF driver will initiate a silent reset to pick up the new configuration. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6988bd920c
commit
fc0f19294d
@ -125,6 +125,7 @@ static const u16 bnxt_async_events_arr[] = {
|
||||
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE,
|
||||
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PF_DRVR_UNLOAD,
|
||||
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PORT_CONN_NOT_ALLOWED,
|
||||
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE,
|
||||
HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE,
|
||||
};
|
||||
|
||||
@ -1358,6 +1359,11 @@ static int bnxt_async_event_process(struct bnxt *bp,
|
||||
set_bit(BNXT_HWRM_PORT_MODULE_SP_EVENT, &bp->sp_event);
|
||||
break;
|
||||
}
|
||||
case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_CFG_CHANGE:
|
||||
if (BNXT_PF(bp))
|
||||
goto async_event_process_exit;
|
||||
set_bit(BNXT_RESET_TASK_SILENT_SP_EVENT, &bp->sp_event);
|
||||
break;
|
||||
default:
|
||||
netdev_err(bp->dev, "unhandled ASYNC event (id 0x%x)\n",
|
||||
event_id);
|
||||
@ -5738,6 +5744,9 @@ static void bnxt_sp_task(struct work_struct *work)
|
||||
if (test_and_clear_bit(BNXT_RESET_TASK_SP_EVENT, &bp->sp_event))
|
||||
bnxt_reset(bp, false);
|
||||
|
||||
if (test_and_clear_bit(BNXT_RESET_TASK_SILENT_SP_EVENT, &bp->sp_event))
|
||||
bnxt_reset(bp, true);
|
||||
|
||||
if (test_and_clear_bit(BNXT_HWRM_PORT_MODULE_SP_EVENT, &bp->sp_event))
|
||||
bnxt_get_port_module_status(bp);
|
||||
|
||||
|
@ -1018,6 +1018,7 @@ struct bnxt {
|
||||
#define BNXT_HWRM_PF_UNLOAD_SP_EVENT 8
|
||||
#define BNXT_PERIODIC_STATS_SP_EVENT 9
|
||||
#define BNXT_HWRM_PORT_MODULE_SP_EVENT 10
|
||||
#define BNXT_RESET_TASK_SILENT_SP_EVENT 11
|
||||
|
||||
struct bnxt_pf_info pf;
|
||||
#ifdef CONFIG_BNXT_SRIOV
|
||||
|
Loading…
Reference in New Issue
Block a user