summaryrefslogtreecommitdiffstats
path: root/net/ncsi/internal.h
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2016-10-03 20:25:50 -0400
committerDavid S. Miller <davem@davemloft.net>2016-10-04 02:11:50 -0400
commita15af54f8f2a32d629781417503843bfbd02a004 (patch)
treed8190aef4785bb68495a24614b500aec2e08a725 /net/ncsi/internal.h
parent55e02d0837fb4cf023832252847bfbff453603cc (diff)
net/ncsi: Rework request index allocation
The NCSI request index (struct ncsi_request::id) is put into instance ID (IID) field while sending NCSI command packet. It was designed the available IDs are given in round-robin fashion. @ndp->request_id was introduced to represent the next available ID, but it has been used as number of successively allocated IDs. It breaks the round-robin design. Besides, we shouldn't put 0 to NCSI command packet's IID field, meaning ID#0 should be reserved according section 6.3.1.1 in NCSI spec (v1.1.0). This fixes above two issues. With it applied, the available IDs will be assigned in round-robin fashion and ID#0 won't be assigned. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Reviewed-by: Joel Stanley <joel@jms.id.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ncsi/internal.h')
-rw-r--r--net/ncsi/internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ncsi/internal.h b/net/ncsi/internal.h
index 66dc851d49ee..c956fe8d80c3 100644
--- a/net/ncsi/internal.h
+++ b/net/ncsi/internal.h
@@ -259,6 +259,7 @@ struct ncsi_dev_priv {
259 struct list_head packages; /* List of packages */ 259 struct list_head packages; /* List of packages */
260 struct ncsi_request requests[256]; /* Request table */ 260 struct ncsi_request requests[256]; /* Request table */
261 unsigned int request_id; /* Last used request ID */ 261 unsigned int request_id; /* Last used request ID */
262#define NCSI_REQ_START_IDX 1
262 unsigned int pending_req_num; /* Number of pending requests */ 263 unsigned int pending_req_num; /* Number of pending requests */
263 struct ncsi_package *active_package; /* Currently handled package */ 264 struct ncsi_package *active_package; /* Currently handled package */
264 struct ncsi_channel *active_channel; /* Currently handled channel */ 265 struct ncsi_channel *active_channel; /* Currently handled channel */