* Release resources when all the ports have been stopped. */
| 2119 | * Release resources when all the ports have been stopped. |
| 2120 | */ |
| 2121 | void cxgbe_close(struct adapter *adapter) |
| 2122 | { |
| 2123 | if (adapter->flags & FULL_INIT_DONE) { |
| 2124 | tid_free(&adapter->tids); |
| 2125 | t4_cleanup_mpstcam(adapter); |
| 2126 | t4_cleanup_clip_tbl(adapter); |
| 2127 | t4_cleanup_l2t(adapter); |
| 2128 | t4_cleanup_smt(adapter); |
| 2129 | if (is_pf4(adapter)) |
| 2130 | t4_intr_disable(adapter); |
| 2131 | t4_sge_tx_monitor_stop(adapter); |
| 2132 | t4_free_sge_resources(adapter); |
| 2133 | adapter->flags &= ~FULL_INIT_DONE; |
| 2134 | } |
| 2135 | |
| 2136 | cxgbe_cfg_queues_free(adapter); |
| 2137 | |
| 2138 | if (is_pf4(adapter) && (adapter->flags & FW_OK)) |
| 2139 | t4_fw_bye(adapter, adapter->mbox); |
| 2140 | } |
| 2141 | |
| 2142 | static void adap_smt_index(struct adapter *adapter, u32 *smt_start_idx, |
| 2143 | u32 *smt_size) |
no test coverage detected