linux/drivers/net/ethernet/ibm
Sukadev Bhattiprolu ae16bf1537 ibmvnic: init init_done_rc earlier
We currently initialize the ->init_done completion/return code fields
before issuing a CRQ_INIT command. But if we get a transport event soon
after registering the CRQ the taskslet may already have recorded the
completion and error code. If we initialize here, we might overwrite/
lose that and end up issuing the CRQ_INIT only to timeout later.

If that timeout happens during probe, we will leave the adapter in the
DOWN state rather than retrying to register/init the CRQ.

Initialize the completion before registering the CRQ so we don't lose
the notification.

Fixes: 032c5e8284 ("Driver for IBM System i/p VNIC protocol")
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-02-25 10:57:47 +00:00
..
ehea ethernet: use eth_hw_addr_set() for dev->addr_len cases 2021-10-05 13:16:48 +01:00
emac ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
ibmveth.c ethernet: ibmveth: use default_groups in kobj_type 2022-01-06 13:46:23 +00:00
ibmveth.h
ibmvnic.c ibmvnic: init init_done_rc earlier 2022-02-25 10:57:47 +00:00
ibmvnic.h ibmvnic: remove unused ->wait_capability 2022-01-24 12:05:03 +00:00
Kconfig
Makefile