| From foo@baz Sun Jun 17 12:07:33 CEST 2018 |
| From: Jakub Kicinski <jakub.kicinski@netronome.com> |
| Date: Wed, 11 Apr 2018 16:47:35 -0700 |
| Subject: nfp: ignore signals when communicating with management FW |
| |
| From: Jakub Kicinski <jakub.kicinski@netronome.com> |
| |
| [ Upstream commit 5496295aefe86995e41398b0f76de601308fc3f5 ] |
| |
| We currently allow signals to interrupt the wait for management FW |
| commands. Exiting the wait should not cause trouble, the FW will |
| just finish executing the command in the background and new commands |
| will wait for the old one to finish. |
| |
| However, this may not be what users expect (Ctrl-C not actually stopping |
| the command). Moreover some systems routinely request link information |
| with signals pending (Ubuntu 14.04 runs a landscape-sysinfo python tool |
| from MOTD) worrying users with errors like these: |
| |
| nfp 0000:04:00.0: nfp_nsp: Error -512 waiting for code 0x0007 to start |
| nfp 0000:04:00.0: nfp: reading port table failed -512 |
| |
| Make the wait for management FW responses non-interruptible. |
| |
| Fixes: 1a64821c6af7 ("nfp: add support for service processor access") |
| Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> |
| Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c |
| +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c |
| @@ -281,8 +281,7 @@ nfp_nsp_wait_reg(struct nfp_cpp *cpp, u6 |
| if ((*reg & mask) == val) |
| return 0; |
| |
| - if (msleep_interruptible(25)) |
| - return -ERESTARTSYS; |
| + msleep(25); |
| |
| if (time_after(start_time, wait_until)) |
| return -ETIMEDOUT; |