Loading drivers/net/wireless/b43/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ config B43_SSB choice prompt "Supported bus types" depends on B43 default B43_BCMA_AND_SSB default B43_BUSES_BCMA_AND_SSB config B43_BUSES_BCMA_AND_SSB bool "BCMA and SSB" Loading drivers/net/wireless/b43/main.c +1 −0 Original line number Diff line number Diff line Loading @@ -5221,6 +5221,7 @@ static int b43_wireless_core_attach(struct b43_wldev *dev) /* We don't support 5 GHz on some PHYs yet */ switch (dev->phy.type) { case B43_PHYTYPE_A: case B43_PHYTYPE_G: case B43_PHYTYPE_N: case B43_PHYTYPE_LP: case B43_PHYTYPE_HT: Loading drivers/net/wireless/b43/xmit.c +7 −3 Original line number Diff line number Diff line Loading @@ -811,8 +811,12 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr) break; case B43_PHYTYPE_G: status.band = IEEE80211_BAND_2GHZ; /* chanid is the radio channel cookie value as used * to tune the radio. */ /* Somewhere between 478.104 and 508.1084 firmware for G-PHY * has been modified to be compatible with N-PHY and others. */ if (dev->fw.rev >= 508) status.freq = ieee80211_channel_to_frequency(chanid, status.band); else status.freq = chanid + 2400; break; case B43_PHYTYPE_N: Loading drivers/net/wireless/mwifiex/pcie.c +2 −2 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ mwifiex_map_pci_memory(struct mwifiex_adapter *adapter, struct sk_buff *skb, return -1; } mapping.len = size; memcpy(skb->cb, &mapping, sizeof(mapping)); mwifiex_store_mapping(skb, &mapping); return 0; } Loading @@ -60,7 +60,7 @@ static void mwifiex_unmap_pci_memory(struct mwifiex_adapter *adapter, struct pcie_service_card *card = adapter->card; struct mwifiex_dma_mapping mapping; MWIFIEX_SKB_PACB(skb, &mapping); mwifiex_get_mapping(skb, &mapping); pci_unmap_single(card->dev, mapping.addr, mapping.len, flags); } Loading drivers/net/wireless/mwifiex/util.h +33 −10 Original line number Diff line number Diff line Loading @@ -20,32 +20,55 @@ #ifndef _MWIFIEX_UTIL_H_ #define _MWIFIEX_UTIL_H_ struct mwifiex_dma_mapping { dma_addr_t addr; size_t len; }; struct mwifiex_cb { struct mwifiex_dma_mapping dma_mapping; union { struct mwifiex_rxinfo rx_info; struct mwifiex_txinfo tx_info; }; }; static inline struct mwifiex_rxinfo *MWIFIEX_SKB_RXCB(struct sk_buff *skb) { return (struct mwifiex_rxinfo *)(skb->cb + sizeof(dma_addr_t)); struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; BUILD_BUG_ON(sizeof(struct mwifiex_cb) > sizeof(skb->cb)); return &cb->rx_info; } static inline struct mwifiex_txinfo *MWIFIEX_SKB_TXCB(struct sk_buff *skb) { return (struct mwifiex_txinfo *)(skb->cb + sizeof(dma_addr_t)); struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; return &cb->tx_info; } struct mwifiex_dma_mapping { dma_addr_t addr; size_t len; }; static inline void mwifiex_store_mapping(struct sk_buff *skb, struct mwifiex_dma_mapping *mapping) { struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; memcpy(&cb->dma_mapping, mapping, sizeof(*mapping)); } static inline void MWIFIEX_SKB_PACB(struct sk_buff *skb, static inline void mwifiex_get_mapping(struct sk_buff *skb, struct mwifiex_dma_mapping *mapping) { memcpy(mapping, skb->cb, sizeof(*mapping)); struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; memcpy(mapping, &cb->dma_mapping, sizeof(*mapping)); } static inline dma_addr_t MWIFIEX_SKB_DMA_ADDR(struct sk_buff *skb) { struct mwifiex_dma_mapping mapping; MWIFIEX_SKB_PACB(skb, &mapping); mwifiex_get_mapping(skb, &mapping); return mapping.addr; } Loading Loading
drivers/net/wireless/b43/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ config B43_SSB choice prompt "Supported bus types" depends on B43 default B43_BCMA_AND_SSB default B43_BUSES_BCMA_AND_SSB config B43_BUSES_BCMA_AND_SSB bool "BCMA and SSB" Loading
drivers/net/wireless/b43/main.c +1 −0 Original line number Diff line number Diff line Loading @@ -5221,6 +5221,7 @@ static int b43_wireless_core_attach(struct b43_wldev *dev) /* We don't support 5 GHz on some PHYs yet */ switch (dev->phy.type) { case B43_PHYTYPE_A: case B43_PHYTYPE_G: case B43_PHYTYPE_N: case B43_PHYTYPE_LP: case B43_PHYTYPE_HT: Loading
drivers/net/wireless/b43/xmit.c +7 −3 Original line number Diff line number Diff line Loading @@ -811,8 +811,12 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr) break; case B43_PHYTYPE_G: status.band = IEEE80211_BAND_2GHZ; /* chanid is the radio channel cookie value as used * to tune the radio. */ /* Somewhere between 478.104 and 508.1084 firmware for G-PHY * has been modified to be compatible with N-PHY and others. */ if (dev->fw.rev >= 508) status.freq = ieee80211_channel_to_frequency(chanid, status.band); else status.freq = chanid + 2400; break; case B43_PHYTYPE_N: Loading
drivers/net/wireless/mwifiex/pcie.c +2 −2 Original line number Diff line number Diff line Loading @@ -50,7 +50,7 @@ mwifiex_map_pci_memory(struct mwifiex_adapter *adapter, struct sk_buff *skb, return -1; } mapping.len = size; memcpy(skb->cb, &mapping, sizeof(mapping)); mwifiex_store_mapping(skb, &mapping); return 0; } Loading @@ -60,7 +60,7 @@ static void mwifiex_unmap_pci_memory(struct mwifiex_adapter *adapter, struct pcie_service_card *card = adapter->card; struct mwifiex_dma_mapping mapping; MWIFIEX_SKB_PACB(skb, &mapping); mwifiex_get_mapping(skb, &mapping); pci_unmap_single(card->dev, mapping.addr, mapping.len, flags); } Loading
drivers/net/wireless/mwifiex/util.h +33 −10 Original line number Diff line number Diff line Loading @@ -20,32 +20,55 @@ #ifndef _MWIFIEX_UTIL_H_ #define _MWIFIEX_UTIL_H_ struct mwifiex_dma_mapping { dma_addr_t addr; size_t len; }; struct mwifiex_cb { struct mwifiex_dma_mapping dma_mapping; union { struct mwifiex_rxinfo rx_info; struct mwifiex_txinfo tx_info; }; }; static inline struct mwifiex_rxinfo *MWIFIEX_SKB_RXCB(struct sk_buff *skb) { return (struct mwifiex_rxinfo *)(skb->cb + sizeof(dma_addr_t)); struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; BUILD_BUG_ON(sizeof(struct mwifiex_cb) > sizeof(skb->cb)); return &cb->rx_info; } static inline struct mwifiex_txinfo *MWIFIEX_SKB_TXCB(struct sk_buff *skb) { return (struct mwifiex_txinfo *)(skb->cb + sizeof(dma_addr_t)); struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; return &cb->tx_info; } struct mwifiex_dma_mapping { dma_addr_t addr; size_t len; }; static inline void mwifiex_store_mapping(struct sk_buff *skb, struct mwifiex_dma_mapping *mapping) { struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; memcpy(&cb->dma_mapping, mapping, sizeof(*mapping)); } static inline void MWIFIEX_SKB_PACB(struct sk_buff *skb, static inline void mwifiex_get_mapping(struct sk_buff *skb, struct mwifiex_dma_mapping *mapping) { memcpy(mapping, skb->cb, sizeof(*mapping)); struct mwifiex_cb *cb = (struct mwifiex_cb *)skb->cb; memcpy(mapping, &cb->dma_mapping, sizeof(*mapping)); } static inline dma_addr_t MWIFIEX_SKB_DMA_ADDR(struct sk_buff *skb) { struct mwifiex_dma_mapping mapping; MWIFIEX_SKB_PACB(skb, &mapping); mwifiex_get_mapping(skb, &mapping); return mapping.addr; } Loading