]> www.infradead.org Git - users/willy/linux.git/commit
net/ncsi: Fix the multi thread manner of NCSI driver
authorDelphineCCChiu <delphine_cc_chiu@wiwynn.com>
Wed, 29 May 2024 06:58:55 +0000 (14:58 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 1 Jun 2024 23:21:44 +0000 (16:21 -0700)
commite85e271dec0270982afed84f70dc37703fcc1d52
tree718b9717324af43955dca9bd5749cbb66f8983e4
parent8105378c0c02309221b63d15cfe8fe92e7fe1434
net/ncsi: Fix the multi thread manner of NCSI driver

Currently NCSI driver will send several NCSI commands back to back without
waiting the response of previous NCSI command or timeout in some state
when NIC have multi channel. This operation against the single thread
manner defined by NCSI SPEC(section 6.3.2.3 in DSP0222_1.1.1)

According to NCSI SPEC(section 6.2.13.1 in DSP0222_1.1.1), we should probe
one channel at a time by sending NCSI commands (Clear initial state, Get
version ID, Get capabilities...), than repeat this steps until the max
number of channels which we got from NCSI command (Get capabilities) has
been probed.

Fixes: e6f44ed6d04d ("net/ncsi: Package and channel management")
Signed-off-by: DelphineCCChiu <delphine_cc_chiu@wiwynn.com>
Link: https://lore.kernel.org/r/20240529065856.825241-1-delphine_cc_chiu@wiwynn.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ncsi/internal.h
net/ncsi/ncsi-manage.c
net/ncsi/ncsi-rsp.c