[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5fecde0f-5db6-4e37-67cb-2bc945b9b86b@oracle.com>
Date: Wed, 8 Nov 2017 12:26:41 +0800
From: Yanjun Zhu <yanjun.zhu@...cle.com>
To: "Elior, Ariel" <Ariel.Elior@...ium.com>,
everest-linux-l2@...ium.com, netdev@...r.kernel.org,
yanjun.zhu@...cle.com, joe.jin@...cle.com,
JUNXIAO_BI <junxiao.bi@...cle.com>,
Srinivas Eeda <srinivas.eeda@...cle.com>
Subject: Re: [PATCH 1/1] bnx2x: fix slowpath null crash
On 2017/11/8 11:27, Elior, Ariel wrote:
>> When "NETDEV WATCHDOG: em4 (bnx2x): transmit queue 2 timed out" occurs,
>> BNX2X_SP_RTNL_TX_TIMEOUT is set. In the function bnx2x_sp_rtnl_task,
>> bnx2x_nic_unload and bnx2x_nic_load are executed to shutdown and open
>> NIC. In the function bnx2x_nic_load, bnx2x_alloc_mem allocates dma
>> failure. The message "bnx2x: [bnx2x_alloc_mem:8399(em4)]Can't
>> allocate memory" pops out. The variable slowpath is set to NULL.
>> When shutdown the NIC, the function bnx2x_nic_unload is called. In
>> the function bnx2x_nic_unload, the following functions are executed.
>> bnx2x_chip_cleanup
>> bnx2x_set_storm_rx_mode
>> bnx2x_set_q_rx_mode
>> bnx2x_set_q_rx_mode
>> bnx2x_config_rx_mode
>> bnx2x_set_rx_mode_e2
>> In the function bnx2x_set_rx_mode_e2, the variable slowpath is operated.
>> Then the crash occurs.
>> To fix this crash, the variable slowpath is checked. And in the function
>> bnx2x_sp_rtnl_task, after dma memory allocation fails, another shutdown
>> and open NIC is executed.
>>
>> CC: Joe Jin <joe.jin@...cle.com>
>> CC: Junxiao Bi <junxiao.bi@...cle.com>
>> Signed-off-by: Zhu Yanjun <yanjun.zhu@...cle.com>
> Acked-by: Ariel Elior <aelior@...ium.com>
Thanks a lot.
Zhu Yanjun
>
> Thanks Zhu - you did a thorough job.
> Ariel
Powered by blists - more mailing lists