bnx2x: Ack unknown VF messages
authorAriel Elior <ariele@broadcom.com>
Mon, 27 May 2013 04:08:28 +0000 (04:08 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 May 2013 04:41:49 +0000 (21:41 -0700)
A PF should ack the firmware when receiving unknown messages through the VF's
mailbox. This prevents the VF mailbox from being stuck in case of a VF sending
a message unknown to the PF (e.g. VF with more advanced version).

Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c

index 928b074..2826066 100644 (file)
@@ -1605,8 +1605,11 @@ static void bnx2x_vf_mbx_request(struct bnx2x *bp, struct bnx2x_virtf *vf,
                        bnx2x_vf_mbx_resp(bp, vf);
                } else {
                        /* can't send a response since this VF is unknown to us
-                        * just unlock the channel and be done with.
+                        * just ack the FW to release the mailbox and unlock
+                        * the channel.
                         */
+                       storm_memset_vf_mbx_ack(bp, vf->abs_vfid);
+                       mmiowb();
                        bnx2x_unlock_vf_pf_channel(bp, vf,
                                                   mbx->first_tlv.tl.type);
                }