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

Commit 6e1344e8 authored by David S. Miller's avatar David S. Miller
Browse files
parents 8af3994e 3c3052ea
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -373,7 +373,7 @@ static void ar9003_hw_spur_ofdm_work(struct ath_hw *ah,
			else
				spur_subchannel_sd = 0;

			spur_freq_sd = (freq_offset << 9) / 11;
			spur_freq_sd = ((freq_offset + 10) << 9) / 11;

		} else {
			if (REG_READ_FIELD(ah, AR_PHY_GEN_CTRL,
@@ -382,7 +382,7 @@ static void ar9003_hw_spur_ofdm_work(struct ath_hw *ah,
			else
				spur_subchannel_sd = 1;

			spur_freq_sd = (freq_offset << 9) / 11;
			spur_freq_sd = ((freq_offset - 10) << 9) / 11;

		}

+1 −0
Original line number Diff line number Diff line
@@ -2637,6 +2637,7 @@ static int brcmf_sdbrcm_dpc_thread(void *data)
				/* after stopping the bus, exit thread */
				brcmf_sdbrcm_bus_stop(bus->sdiodev->dev);
				bus->dpc_tsk = NULL;
				spin_lock_irqsave(&bus->dpc_tl_lock, flags);
				break;
			}

+14 −7
Original line number Diff line number Diff line
@@ -773,8 +773,7 @@ static void iwlagn_pass_packet_to_mac80211(struct iwl_priv *priv,
	struct sk_buff *skb;
	__le16 fc = hdr->frame_control;
	struct iwl_rxon_context *ctx;
	struct page *p;
	int offset;
	unsigned int hdrlen, fraglen;

	/* We only process data packets if the interface is open */
	if (unlikely(!priv->is_open)) {
@@ -788,16 +787,24 @@ static void iwlagn_pass_packet_to_mac80211(struct iwl_priv *priv,
	    iwlagn_set_decrypted_flag(priv, hdr, ampdu_status, stats))
		return;

	skb = dev_alloc_skb(128);
	/* Dont use dev_alloc_skb(), we'll have enough headroom once
	 * ieee80211_hdr pulled.
	 */
	skb = alloc_skb(128, GFP_ATOMIC);
	if (!skb) {
		IWL_ERR(priv, "dev_alloc_skb failed\n");
		IWL_ERR(priv, "alloc_skb failed\n");
		return;
	}
	hdrlen = min_t(unsigned int, len, skb_tailroom(skb));
	memcpy(skb_put(skb, hdrlen), hdr, hdrlen);
	fraglen = len - hdrlen;

	offset = (void *)hdr - rxb_addr(rxb);
	p = rxb_steal_page(rxb);
	skb_add_rx_frag(skb, 0, p, offset, len, len);
	if (fraglen) {
		int offset = (void *)hdr + hdrlen - rxb_addr(rxb);

		skb_add_rx_frag(skb, 0, rxb_steal_page(rxb), offset,
				fraglen, rxb->truesize);
	}
	iwl_update_stats(priv, false, fc, len);

	/*
+2 −1
Original line number Diff line number Diff line
@@ -374,8 +374,9 @@ static void iwl_rx_handle_rxbuf(struct iwl_trans *trans,
	if (WARN_ON(!rxb))
		return;

	rxcb.truesize = PAGE_SIZE << hw_params(trans).rx_page_order;
	dma_unmap_page(trans->dev, rxb->page_dma,
		       PAGE_SIZE << hw_params(trans).rx_page_order,
		       rxcb.truesize,
		       DMA_FROM_DEVICE);

	rxcb._page = rxb->page;
+1 −0
Original line number Diff line number Diff line
@@ -260,6 +260,7 @@ static inline void iwl_free_resp(struct iwl_host_cmd *cmd)

struct iwl_rx_cmd_buffer {
	struct page *_page;
	unsigned int truesize;
};

static inline void *rxb_addr(struct iwl_rx_cmd_buffer *r)