Loading drivers/net/wireless/ath/ar9170/usb.c +12 −2 Original line number Original line Diff line number Diff line Loading @@ -739,17 +739,27 @@ static int ar9170_usb_init_device(struct ar9170_usb *aru) static void ar9170_usb_firmware_failed(struct ar9170_usb *aru) static void ar9170_usb_firmware_failed(struct ar9170_usb *aru) { { struct device *parent = aru->udev->dev.parent; struct device *parent = aru->udev->dev.parent; struct usb_device *udev; /* * Store a copy of the usb_device pointer locally. * This is because device_release_driver initiates * ar9170_usb_disconnect, which in turn frees our * driver context (aru). */ udev = aru->udev; complete(&aru->firmware_loading_complete); complete(&aru->firmware_loading_complete); /* unbind anything failed */ /* unbind anything failed */ if (parent) if (parent) device_lock(parent); device_lock(parent); device_release_driver(&aru->udev->dev); device_release_driver(&udev->dev); if (parent) if (parent) device_unlock(parent); device_unlock(parent); usb_put_dev(aru->udev); usb_put_dev(udev); } } static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context) static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context) Loading drivers/net/wireless/ath/ath9k/xmit.c +4 −2 Original line number Original line Diff line number Diff line Loading @@ -1198,7 +1198,7 @@ void ath_drain_all_txq(struct ath_softc *sc, bool retry_tx) int r; int r; ath_print(common, ATH_DBG_FATAL, ath_print(common, ATH_DBG_FATAL, "Unable to stop TxDMA. Reset HAL!\n"); "Failed to stop TX DMA. Resetting hardware!\n"); spin_lock_bh(&sc->sc_resetlock); spin_lock_bh(&sc->sc_resetlock); r = ath9k_hw_reset(ah, sc->sc_ah->curchan, false); r = ath9k_hw_reset(ah, sc->sc_ah->curchan, false); Loading Loading @@ -1728,6 +1728,8 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf, } else } else bf->bf_isnullfunc = false; bf->bf_isnullfunc = false; bf->bf_tx_aborted = false; return 0; return 0; } } Loading Loading @@ -1989,7 +1991,7 @@ static int ath_tx_num_badfrms(struct ath_softc *sc, struct ath_buf *bf, int nbad = 0; int nbad = 0; int isaggr = 0; int isaggr = 0; if (bf->bf_tx_aborted) if (bf->bf_lastbf->bf_tx_aborted) return 0; return 0; isaggr = bf_isaggr(bf); isaggr = bf_isaggr(bf); Loading drivers/net/wireless/libertas/rx.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -329,9 +329,8 @@ static int process_rxed_802_11_packet(struct lbs_private *priv, /* create the exported radio header */ /* create the exported radio header */ /* radiotap header */ /* radiotap header */ radiotap_hdr.hdr.it_version = 0; memset(&radiotap_hdr, 0, sizeof(radiotap_hdr)); /* XXX must check this value for pad */ /* XXX must check radiotap_hdr.hdr.it_pad for pad */ radiotap_hdr.hdr.it_pad = 0; radiotap_hdr.hdr.it_len = cpu_to_le16 (sizeof(struct rx_radiotap_hdr)); radiotap_hdr.hdr.it_len = cpu_to_le16 (sizeof(struct rx_radiotap_hdr)); radiotap_hdr.hdr.it_present = cpu_to_le32 (RX_RADIOTAP_PRESENT); radiotap_hdr.hdr.it_present = cpu_to_le32 (RX_RADIOTAP_PRESENT); radiotap_hdr.rate = convert_mv_rate_to_radiotap(prxpd->rx_rate); radiotap_hdr.rate = convert_mv_rate_to_radiotap(prxpd->rx_rate); Loading drivers/net/wireless/rt2x00/rt2800usb.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -413,7 +413,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev, */ */ rt2x00_desc_read(txi, 0, &word); rt2x00_desc_read(txi, 0, &word); rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN, rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN, skb->len - TXINFO_DESC_SIZE); skb->len + TXWI_DESC_SIZE); rt2x00_set_field32(&word, TXINFO_W0_WIV, rt2x00_set_field32(&word, TXINFO_W0_WIV, !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags)); !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags)); rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2); rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2); Loading drivers/ssb/pci.c +6 −3 Original line number Original line Diff line number Diff line Loading @@ -625,9 +625,12 @@ static int ssb_pci_sprom_get(struct ssb_bus *bus, ssb_printk(KERN_ERR PFX "No SPROM available!\n"); ssb_printk(KERN_ERR PFX "No SPROM available!\n"); return -ENODEV; return -ENODEV; } } if (bus->chipco.dev) { /* can be unavailible! */ bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ? bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ? SSB_SPROM_BASE1 : SSB_SPROM_BASE31; SSB_SPROM_BASE1 : SSB_SPROM_BASE31; } else { bus->sprom_offset = SSB_SPROM_BASE1; } buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL); buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL); if (!buf) if (!buf) Loading Loading
drivers/net/wireless/ath/ar9170/usb.c +12 −2 Original line number Original line Diff line number Diff line Loading @@ -739,17 +739,27 @@ static int ar9170_usb_init_device(struct ar9170_usb *aru) static void ar9170_usb_firmware_failed(struct ar9170_usb *aru) static void ar9170_usb_firmware_failed(struct ar9170_usb *aru) { { struct device *parent = aru->udev->dev.parent; struct device *parent = aru->udev->dev.parent; struct usb_device *udev; /* * Store a copy of the usb_device pointer locally. * This is because device_release_driver initiates * ar9170_usb_disconnect, which in turn frees our * driver context (aru). */ udev = aru->udev; complete(&aru->firmware_loading_complete); complete(&aru->firmware_loading_complete); /* unbind anything failed */ /* unbind anything failed */ if (parent) if (parent) device_lock(parent); device_lock(parent); device_release_driver(&aru->udev->dev); device_release_driver(&udev->dev); if (parent) if (parent) device_unlock(parent); device_unlock(parent); usb_put_dev(aru->udev); usb_put_dev(udev); } } static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context) static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context) Loading
drivers/net/wireless/ath/ath9k/xmit.c +4 −2 Original line number Original line Diff line number Diff line Loading @@ -1198,7 +1198,7 @@ void ath_drain_all_txq(struct ath_softc *sc, bool retry_tx) int r; int r; ath_print(common, ATH_DBG_FATAL, ath_print(common, ATH_DBG_FATAL, "Unable to stop TxDMA. Reset HAL!\n"); "Failed to stop TX DMA. Resetting hardware!\n"); spin_lock_bh(&sc->sc_resetlock); spin_lock_bh(&sc->sc_resetlock); r = ath9k_hw_reset(ah, sc->sc_ah->curchan, false); r = ath9k_hw_reset(ah, sc->sc_ah->curchan, false); Loading Loading @@ -1728,6 +1728,8 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf, } else } else bf->bf_isnullfunc = false; bf->bf_isnullfunc = false; bf->bf_tx_aborted = false; return 0; return 0; } } Loading Loading @@ -1989,7 +1991,7 @@ static int ath_tx_num_badfrms(struct ath_softc *sc, struct ath_buf *bf, int nbad = 0; int nbad = 0; int isaggr = 0; int isaggr = 0; if (bf->bf_tx_aborted) if (bf->bf_lastbf->bf_tx_aborted) return 0; return 0; isaggr = bf_isaggr(bf); isaggr = bf_isaggr(bf); Loading
drivers/net/wireless/libertas/rx.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -329,9 +329,8 @@ static int process_rxed_802_11_packet(struct lbs_private *priv, /* create the exported radio header */ /* create the exported radio header */ /* radiotap header */ /* radiotap header */ radiotap_hdr.hdr.it_version = 0; memset(&radiotap_hdr, 0, sizeof(radiotap_hdr)); /* XXX must check this value for pad */ /* XXX must check radiotap_hdr.hdr.it_pad for pad */ radiotap_hdr.hdr.it_pad = 0; radiotap_hdr.hdr.it_len = cpu_to_le16 (sizeof(struct rx_radiotap_hdr)); radiotap_hdr.hdr.it_len = cpu_to_le16 (sizeof(struct rx_radiotap_hdr)); radiotap_hdr.hdr.it_present = cpu_to_le32 (RX_RADIOTAP_PRESENT); radiotap_hdr.hdr.it_present = cpu_to_le32 (RX_RADIOTAP_PRESENT); radiotap_hdr.rate = convert_mv_rate_to_radiotap(prxpd->rx_rate); radiotap_hdr.rate = convert_mv_rate_to_radiotap(prxpd->rx_rate); Loading
drivers/net/wireless/rt2x00/rt2800usb.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -413,7 +413,7 @@ static void rt2800usb_write_tx_desc(struct rt2x00_dev *rt2x00dev, */ */ rt2x00_desc_read(txi, 0, &word); rt2x00_desc_read(txi, 0, &word); rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN, rt2x00_set_field32(&word, TXINFO_W0_USB_DMA_TX_PKT_LEN, skb->len - TXINFO_DESC_SIZE); skb->len + TXWI_DESC_SIZE); rt2x00_set_field32(&word, TXINFO_W0_WIV, rt2x00_set_field32(&word, TXINFO_W0_WIV, !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags)); !test_bit(ENTRY_TXD_ENCRYPT_IV, &txdesc->flags)); rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2); rt2x00_set_field32(&word, TXINFO_W0_QSEL, 2); Loading
drivers/ssb/pci.c +6 −3 Original line number Original line Diff line number Diff line Loading @@ -625,9 +625,12 @@ static int ssb_pci_sprom_get(struct ssb_bus *bus, ssb_printk(KERN_ERR PFX "No SPROM available!\n"); ssb_printk(KERN_ERR PFX "No SPROM available!\n"); return -ENODEV; return -ENODEV; } } if (bus->chipco.dev) { /* can be unavailible! */ bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ? bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ? SSB_SPROM_BASE1 : SSB_SPROM_BASE31; SSB_SPROM_BASE1 : SSB_SPROM_BASE31; } else { bus->sprom_offset = SSB_SPROM_BASE1; } buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL); buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL); if (!buf) if (!buf) Loading