|
@@ -2710,6 +2710,14 @@ static int bnxt_hwrm_func_drv_rgtr(struct bnxt *bp)
|
|
|
return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
|
|
|
}
|
|
|
|
|
|
+static int bnxt_hwrm_func_drv_unrgtr(struct bnxt *bp)
|
|
|
+{
|
|
|
+ struct hwrm_func_drv_unrgtr_input req = {0};
|
|
|
+
|
|
|
+ bnxt_hwrm_cmd_hdr_init(bp, &req, HWRM_FUNC_DRV_UNRGTR, -1, -1);
|
|
|
+ return hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT);
|
|
|
+}
|
|
|
+
|
|
|
static int bnxt_hwrm_tunnel_dst_port_free(struct bnxt *bp, u8 tunnel_type)
|
|
|
{
|
|
|
u32 rc = 0;
|
|
@@ -5549,6 +5557,7 @@ static void bnxt_remove_one(struct pci_dev *pdev)
|
|
|
cancel_work_sync(&bp->sp_task);
|
|
|
bp->sp_event = 0;
|
|
|
|
|
|
+ bnxt_hwrm_func_drv_unrgtr(bp);
|
|
|
bnxt_free_hwrm_resources(bp);
|
|
|
pci_iounmap(pdev, bp->bar2);
|
|
|
pci_iounmap(pdev, bp->bar1);
|