[dpdk-dev] net/enic: fix segfault after receiving error interrupt
Commit Message
When enic's interrupt handler is called indicating an error, it scans
through the receive queues (RQs) on the adapter looking for errors.
But since the inclusion of rx scatter, some of the RQs may not be in
use, and you shouldn't check them for errors.
Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx")
Signed-off-by: Nelson Escobar <neescoba@cisco.com>
Reviewed-by: John Daley <johndale@cisco.com>
---
drivers/net/enic/enic_main.c | 2 ++
1 file changed, 2 insertions(+)
Comments
2016-07-13 18:09, Nelson Escobar:
> When enic's interrupt handler is called indicating an error, it scans
> through the receive queues (RQs) on the adapter looking for errors.
> But since the inclusion of rx scatter, some of the RQs may not be in
> use, and you shouldn't check them for errors.
>
> Fixes: 856d7ba7ed22 ("net/enic: support scattered Rx")
>
> Signed-off-by: Nelson Escobar <neescoba@cisco.com>
> Reviewed-by: John Daley <johndale@cisco.com>
Applied, thanks
@@ -123,6 +123,8 @@ static void enic_log_q_error(struct enic *enic)
}
for (i = 0; i < enic_vnic_rq_count(enic); i++) {
+ if (!enic->rq[i].in_use)
+ continue;
error_status = vnic_rq_error_status(&enic->rq[i]);
if (error_status)
dev_err(enic, "RQ[%d] error_status %d\n", i,