|
|
@@ -347,7 +347,7 @@ static int ncsi_rsp_handler_svf(struct ncsi_request *nr)
|
|
|
|
|
|
cmd = (struct ncsi_cmd_svf_pkt *)skb_network_header(nr->cmd);
|
|
|
ncf = &nc->vlan_filter;
|
|
|
- if (cmd->index > ncf->n_vids)
|
|
|
+ if (cmd->index == 0 || cmd->index > ncf->n_vids)
|
|
|
return -ERANGE;
|
|
|
|
|
|
/* Add or remove the VLAN filter. Remember HW indexes from 1 */
|
|
|
@@ -445,7 +445,8 @@ static int ncsi_rsp_handler_sma(struct ncsi_request *nr)
|
|
|
ncf = &nc->mac_filter;
|
|
|
bitmap = &ncf->bitmap;
|
|
|
|
|
|
- if (cmd->index > ncf->n_uc + ncf->n_mc + ncf->n_mixed)
|
|
|
+ if (cmd->index == 0 ||
|
|
|
+ cmd->index > ncf->n_uc + ncf->n_mc + ncf->n_mixed)
|
|
|
return -ERANGE;
|
|
|
|
|
|
index = (cmd->index - 1) * ETH_ALEN;
|