Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5e5cf4c authored by David S. Miller's avatar David S. Miller
Browse files
parents 045de01a da1fdb02
Loading
Loading
Loading
Loading
+12 −2
Original line number Original line Diff line number Diff line
@@ -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)
+4 −2
Original line number Original line Diff line number Diff line
@@ -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);
@@ -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;
}
}


@@ -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);
+2 −3
Original line number Original line Diff line number Diff line
@@ -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);
+1 −1
Original line number Original line Diff line number Diff line
@@ -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);
+6 −3
Original line number Original line Diff line number Diff line
@@ -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