{
        struct qed_iov_vf_mbx *mbx;
        struct qed_vf_info *p_vf;
-       int i;
 
        p_vf = qed_iov_get_vf_info(p_hwfn, (u16) vfid, true);
        if (!p_vf)
        mbx = &p_vf->vf_mbx;
 
        /* qed_iov_process_mbx_request */
-       DP_VERBOSE(p_hwfn,
-                  QED_MSG_IOV,
-                  "qed_iov_process_mbx_req vfid %d\n", p_vf->abs_vf_id);
+       DP_VERBOSE(p_hwfn, QED_MSG_IOV,
+                  "VF[%02x]: Processing mailbox message\n", p_vf->abs_vf_id);
 
        mbx->first_tlv = mbx->req_virt->first_tlv;
 
                 * support them. Or this may be because someone wrote a crappy
                 * VF driver and is sending garbage over the channel.
                 */
-               DP_ERR(p_hwfn,
-                      "unknown TLV. type %d length %d. first 20 bytes of mailbox buffer:\n",
-                      mbx->first_tlv.tl.type, mbx->first_tlv.tl.length);
-
-               for (i = 0; i < 20; i++) {
+               DP_NOTICE(p_hwfn,
+                         "VF[%02x]: unknown TLV. type %04x length %04x padding %08x reply address %llu\n",
+                         p_vf->abs_vf_id,
+                         mbx->first_tlv.tl.type,
+                         mbx->first_tlv.tl.length,
+                         mbx->first_tlv.padding, mbx->first_tlv.reply_address);
+
+               /* Try replying in case reply address matches the acquisition's
+                * posted address.
+                */
+               if (p_vf->acquire.first_tlv.reply_address &&
+                   (mbx->first_tlv.reply_address ==
+                    p_vf->acquire.first_tlv.reply_address)) {
+                       qed_iov_prepare_resp(p_hwfn, p_ptt, p_vf,
+                                            mbx->first_tlv.tl.type,
+                                            sizeof(struct pfvf_def_resp_tlv),
+                                            PFVF_STATUS_NOT_SUPPORTED);
+               } else {
                        DP_VERBOSE(p_hwfn,
                                   QED_MSG_IOV,
-                                  "%x ",
-                                  mbx->req_virt->tlv_buf_size.tlv_buffer[i]);
+                                  "VF[%02x]: Can't respond to TLV - no valid reply address\n",
+                                  p_vf->abs_vf_id);
                }
        }
 }