Message ID | 20210211051757.1051950-1-nathan@nathanrossi.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 8a28af7a3e85ddf358f8c41e401a33002f7a9587 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: ethernet: aquantia: Handle error cleanup of start on open | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Guessed tree name to be net-next |
netdev/subject_prefix | warning | Target tree name not specified in the subject |
netdev/cc_maintainers | success | CCed 4 of 4 maintainers |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 0 this patch: 0 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 11 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 0 this patch: 0 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
> In order to correctly clean up the failed attempt to start a device call aq_nic_stop. > > Signed-off-by: Nathan Rossi <nathan.rossi@digi.com> Looks good to me, thanks! Reviewed-by: Igor Russkikh <irusskikh@marvell.com> Igor
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Thu, 11 Feb 2021 05:17:57 +0000 you wrote: > From: Nathan Rossi <nathan.rossi@digi.com> > > The aq_nic_start function can fail in a variety of cases which leaves > the device in broken state. > > An example case where the start function fails is the > request_threaded_irq which can be interrupted, resulting in a EINTR > result. This can be manually triggered by bringing the link up (e.g. ip > link set up) and triggering a SIGINT on the initiating process (e.g. > Ctrl+C). This would put the device into a half configured state. > Subsequently bringing the link up again would cause the napi_enable to > BUG. > > [...] Here is the summary with links: - net: ethernet: aquantia: Handle error cleanup of start on open https://git.kernel.org/netdev/net/c/8a28af7a3e85 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_main.c b/drivers/net/ethernet/aquantia/atlantic/aq_main.c index 8f70a39099..4af0cd9530 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_main.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_main.c @@ -71,8 +71,10 @@ static int aq_ndev_open(struct net_device *ndev) goto err_exit; err = aq_nic_start(aq_nic); - if (err < 0) + if (err < 0) { + aq_nic_stop(aq_nic); goto err_exit; + } err_exit: if (err < 0)