return ret;
 }
 
+static void qedi_get_generic_tlv_data(void *dev, struct qed_generic_tlvs *data)
+{
+       struct qedi_ctx *qedi;
+
+       if (!dev) {
+               QEDI_INFO(NULL, QEDI_LOG_EVT,
+                         "dev is NULL so ignoring get_generic_tlv_data request.\n");
+               return;
+       }
+       qedi = (struct qedi_ctx *)dev;
+
+       memset(data, 0, sizeof(struct qed_generic_tlvs));
+       ether_addr_copy(data->mac[0], qedi->mac);
+}
+
 /*
  * Protocol TLV handler
  */
        {
                .link_update =          qedi_link_update,
                .get_protocol_tlv_data = qedi_get_protocol_tlv_data,
+               .get_generic_tlv_data = qedi_get_generic_tlv_data,
        }
 };