1719 }
1720
1721 static void
1722 iwp_ring_free(iwp_sc_t *sc)
1723 {
1724 int i = IWP_NUM_QUEUES;
1725
1726 iwp_free_rx_ring(sc);
1727 while (--i >= 0) {
1728 iwp_free_tx_ring(&sc->sc_txq[i]);
1729 }
1730 }
1731
1732 /* ARGSUSED */
1733 static ieee80211_node_t *
1734 iwp_node_alloc(ieee80211com_t *ic)
1735 {
1736 iwp_amrr_t *amrr;
1737
1738 amrr = kmem_zalloc(sizeof (iwp_amrr_t), KM_SLEEP);
1739 if (NULL == amrr) {
1740 cmn_err(CE_WARN, "iwp_node_alloc(): "
1741 "failed to allocate memory for amrr structure\n");
1742 return (NULL);
1743 }
1744
1745 iwp_amrr_init(amrr);
1746
1747 return (&amrr->in);
1748 }
1749
1750 static void
1751 iwp_node_free(ieee80211_node_t *in)
1752 {
1753 ieee80211com_t *ic;
1754
1755 if ((NULL == in) ||
1756 (NULL == in->in_ic)) {
1757 cmn_err(CE_WARN, "iwp_node_free() "
1758 "Got a NULL point from Net80211 module\n");
1759 return;
1760 }
1761 ic = in->in_ic;
1762
1763 if (ic->ic_node_cleanup != NULL) {
|
1719 }
1720
1721 static void
1722 iwp_ring_free(iwp_sc_t *sc)
1723 {
1724 int i = IWP_NUM_QUEUES;
1725
1726 iwp_free_rx_ring(sc);
1727 while (--i >= 0) {
1728 iwp_free_tx_ring(&sc->sc_txq[i]);
1729 }
1730 }
1731
1732 /* ARGSUSED */
1733 static ieee80211_node_t *
1734 iwp_node_alloc(ieee80211com_t *ic)
1735 {
1736 iwp_amrr_t *amrr;
1737
1738 amrr = kmem_zalloc(sizeof (iwp_amrr_t), KM_SLEEP);
1739
1740 iwp_amrr_init(amrr);
1741
1742 return (&amrr->in);
1743 }
1744
1745 static void
1746 iwp_node_free(ieee80211_node_t *in)
1747 {
1748 ieee80211com_t *ic;
1749
1750 if ((NULL == in) ||
1751 (NULL == in->in_ic)) {
1752 cmn_err(CE_WARN, "iwp_node_free() "
1753 "Got a NULL point from Net80211 module\n");
1754 return;
1755 }
1756 ic = in->in_ic;
1757
1758 if (ic->ic_node_cleanup != NULL) {
|