Messages in this thread | | | Date | Wed, 21 Nov 2018 16:58:04 -0800 (PST) | Subject | Re: [PATCH v2] net: faraday: ftmac100: remove netif_running(netdev) check before disabling interrupts | From | David Miller <> |
| |
From: Vincent Chen <vincentc@andestech.com> Date: Wed, 21 Nov 2018 09:38:11 +0800
> In the original ftmac100_interrupt(), the interrupts are only disabled when > the condition "netif_running(netdev)" is true. However, this condition > causes kerenl hang in the following case. When the user requests to > disable the network device, kernel will clear the bit __LINK_STATE_START > from the dev->state and then call the driver's ndo_stop function. Network > device interrupts are not blocked during this process. If an interrupt > occurs between clearing __LINK_STATE_START and stopping network device, > kernel cannot disable the interrupts due to the condition > "netif_running(netdev)" in the ISR. Hence, kernel will hang due to the > continuous interruption of the network device. > > In order to solve the above problem, the interrupts of the network device > should always be disabled in the ISR without being restricted by the > condition "netif_running(netdev)". > > [V2] > Remove unnecessary curly braces. > > Signed-off-by: Vincent Chen <vincentc@andestech.com>
Applied.
| |