* linux-next: manual merge of the wireless tree
@ 2008-07-03 4:38 Stephen Rothwell
0 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2008-07-03 4:38 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-next, Emmanuel Grumbach, Rick Farrington
[-- Attachment #1: Type: text/plain, Size: 645 bytes --]
Hi John,
Today's linux-next merge of the wireless tree got a conflict in
drivers/net/wireless/iwlwifi/iwl-4965.c between commit
ec04fd60fd74a9db9c63fe11d519be3642cabfdd ("iwlwifi: fix incorrect 5GHz
rates reported in monitor mode") from the wireles-current tree (or maybe
the merge fixup with the net tree) and commit
1781a07fbe9cce3dc1697288a5edd260ea7edc02 ("iwlwifi: move RX handlers to
iwl-rx.c") from the wireless tree.
I took the version from the wireless tree (which matched the version in
you test merge, thanks).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* linux-next: manual merge of the wireless tree
@ 2008-07-03 4:43 Stephen Rothwell
0 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2008-07-03 4:43 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-next, Zhu Yi, Stefanik Gábor
[-- Attachment #1: Type: text/plain, Size: 566 bytes --]
Hi John,
Today's linux-next merge of the wireless tree got a conflict in
drivers/net/wireless/iwlwifi/iwl3945-base.c between commit
6afe6828b19b4567768264831d101026cb5510ff ("iwlwifi: drop skb silently for
Tx request in monitor mode") from the wireless-current tree and commit
914233d68f07d5d9c22630cd5a84fdfd98f39da2 ("iwlwifi: enable packet
injection for iwl3945") from the wireless tree.
I used the version from you test merge, thanks again.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* linux-next: manual merge of the wireless tree
@ 2008-09-17 7:43 Stephen Rothwell
2008-09-17 7:45 ` Johannes Berg
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2008-09-17 7:43 UTC (permalink / raw)
To: John W. Linville; +Cc: linux-next, Johannes Berg, Greg KH
Hi John,
Today's linux-next merge of the wireless tree got a conflict in
drivers/net/wireless/mac80211_hwsim.c between commit
121e2082a81c7988a1399c1a5f43795c95225de2 ("device create: net: convert
device_create_drvdata to device_create") from the driver-core tree and
commit init_mac80211_hwsim( ("mac80211 hwsim: make radio list dynamic")
from the wireless tree.
The former modified the context of the latter. I fixed it up (see below)
and can carry the fix.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff --cc drivers/net/wireless/mac80211_hwsim.c
index 13cee4c,c9e4a43..0000000
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@@ -426,14 -530,14 +530,14 @@@ static int __init init_mac80211_hwsim(v
err = -ENOMEM;
goto failed;
}
- hwsim_radios[i] = hw;
-
data = hw->priv;
+ data->hw = hw;
+
- data->dev = device_create_drvdata(hwsim_class, NULL, 0, hw,
- "hwsim%d", i);
+ data->dev = device_create(hwsim_class, NULL, 0, hw,
+ "hwsim%d", i);
if (IS_ERR(data->dev)) {
printk(KERN_DEBUG
- "mac80211_hwsim: device_create_drvdata "
+ "mac80211_hwsim: device_create "
"failed (%ld)\n", PTR_ERR(data->dev));
err = -ENOMEM;
goto failed_drvdata;
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: manual merge of the wireless tree
2008-09-17 7:43 Stephen Rothwell
@ 2008-09-17 7:45 ` Johannes Berg
0 siblings, 0 replies; 9+ messages in thread
From: Johannes Berg @ 2008-09-17 7:45 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: John W. Linville, linux-next, Greg KH
[-- Attachment #1: Type: text/plain, Size: 597 bytes --]
On Wed, 2008-09-17 at 17:43 +1000, Stephen Rothwell wrote:
> Hi John,
>
> Today's linux-next merge of the wireless tree got a conflict in
> drivers/net/wireless/mac80211_hwsim.c between commit
> 121e2082a81c7988a1399c1a5f43795c95225de2 ("device create: net: convert
> device_create_drvdata to device_create") from the driver-core tree and
> commit init_mac80211_hwsim( ("mac80211 hwsim: make radio list dynamic")
> from the wireless tree.
>
> The former modified the context of the latter. I fixed it up (see below)
> and can carry the fix.
Looks fine to me, thanks.
johannes
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* linux-next: manual merge of the wireless tree
@ 2008-11-20 3:07 Stephen Rothwell
2008-11-20 8:27 ` David Miller
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2008-11-20 3:07 UTC (permalink / raw)
To: John W. Linville
Cc: linux-next, Johannes Berg, Winkler, Tomas, Reinette Chatre,
Zhu, Yi
[-- Attachment #1: Type: text/plain, Size: 627 bytes --]
Hi John,
Today's linux-next merge of the wireless tree got a conflict in
drivers/net/wireless/iwlwifi/iwl-rx.c between commit
4018517a1a69a85c3d61b20fa02f187b80773137 ("iwlagn: fix RX skb alignment")
from the wireless-current tree and commit
07e27f25d0c73f42562473f642f20b8fa996a9de ("iwlwifi: move rx queue read
pointer into rxq") from the wireless tree.
I wasn't sure how to resolve the conflict so have dropped the wireless
tree for today. I assume it will be fixed in the wireless (or net) tree
soon.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: manual merge of the wireless tree
2008-11-20 3:07 Stephen Rothwell
@ 2008-11-20 8:27 ` David Miller
2008-11-20 13:48 ` John W. Linville
0 siblings, 1 reply; 9+ messages in thread
From: David Miller @ 2008-11-20 8:27 UTC (permalink / raw)
To: sfr; +Cc: linville, linux-next, johannes, tomas.winkler, reinette.chatre,
yi.zhu
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 20 Nov 2008 14:07:50 +1100
> Today's linux-next merge of the wireless tree got a conflict in
> drivers/net/wireless/iwlwifi/iwl-rx.c between commit
> 4018517a1a69a85c3d61b20fa02f187b80773137 ("iwlagn: fix RX skb alignment")
> from the wireless-current tree and commit
> 07e27f25d0c73f42562473f642f20b8fa996a9de ("iwlwifi: move rx queue read
> pointer into rxq") from the wireless tree.
>
> I wasn't sure how to resolve the conflict so have dropped the wireless
> tree for today. I assume it will be fixed in the wireless (or net) tree
> soon.
I'll sort these out with John somehow, thanks for the report
Stephen,
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: manual merge of the wireless tree
2008-11-20 8:27 ` David Miller
@ 2008-11-20 13:48 ` John W. Linville
0 siblings, 0 replies; 9+ messages in thread
From: John W. Linville @ 2008-11-20 13:48 UTC (permalink / raw)
To: David Miller
Cc: sfr, linux-next, johannes, tomas.winkler, reinette.chatre, yi.zhu
On Thu, Nov 20, 2008 at 12:27:05AM -0800, David Miller wrote:
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 20 Nov 2008 14:07:50 +1100
>
> > Today's linux-next merge of the wireless tree got a conflict in
> > drivers/net/wireless/iwlwifi/iwl-rx.c between commit
> > 4018517a1a69a85c3d61b20fa02f187b80773137 ("iwlagn: fix RX skb alignment")
> > from the wireless-current tree and commit
> > 07e27f25d0c73f42562473f642f20b8fa996a9de ("iwlwifi: move rx queue read
> > pointer into rxq") from the wireless tree.
> >
> > I wasn't sure how to resolve the conflict so have dropped the wireless
> > tree for today. I assume it will be fixed in the wireless (or net) tree
> > soon.
>
> I'll sort these out with John somehow, thanks for the report
> Stephen,
I have all these sorted (including the ieee80211_notify_mac one)
in the merge-test branch of wireless-next-2.6.
John
--
John W. Linville Linux should be at the core
linville@tuxdriver.com of your literate lifestyle.
^ permalink raw reply [flat|nested] 9+ messages in thread
* linux-next: manual merge of the wireless tree
@ 2008-11-26 8:40 Stephen Rothwell
2008-12-02 20:52 ` Luis R. Rodriguez
0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2008-11-26 8:40 UTC (permalink / raw)
To: John W. Linville
Cc: linux-next, Sujith, Luis R. Rodriguez, Bennyam Malavazi,
David S. Miller
Hi John,
Today's linux-next merge of the wireless tree got a conflict in
drivers/net/wireless/ath9k/recv.c between commits
b4b6cda2298b0c9a0af902312184b775b8867c65 ("ath9k: correct expected max RX
buffer size") and ca0c7e5101fd4f37fed8e851709f08580b92fbb3 ("ath9k: Fix
SW-IOMMU bounce buffer starvation") from the wireless-current tree and
commits fd568653b38a91154b193338c312927385e77da1 ("ath9k: Revamp RX
handling") and from the wireless tree.
I fixed it up (see below - I hope it is correct) and assume that it will
be fixed soon.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
diff --cc drivers/net/wireless/ath9k/recv.c
index d36b5e2,743ad22..0000000
--- a/drivers/net/wireless/ath9k/recv.c
+++ b/drivers/net/wireless/ath9k/recv.c
@@@ -49,12 -41,9 +41,11 @@@ static void ath_rx_buf_link(struct ath_
ASSERT(skb != NULL);
ds->ds_vdata = skb->data;
- /* setup rx descriptors */
+ /* setup rx descriptors. The sc_rxbufsize here tells the harware
+ * how much data it can DMA to us and that we are prepared
+ * to process */
- ath9k_hw_setuprxdesc(ah,
- ds,
+ ath9k_hw_setuprxdesc(ah, ds,
- skb_tailroom(skb), /* buffer size */
+ sc->sc_rxbufsize,
0);
if (sc->sc_rxlink == NULL)
@@@ -229,10 -298,9 +307,9 @@@ int ath_rx_init(struct ath_softc *sc, i
bf->bf_mpdu = skb;
bf->bf_buf_addr = pci_map_single(sc->pdev, skb->data,
- skb_end_pointer(skb) - skb->head,
+ sc->sc_rxbufsize,
PCI_DMA_FROMDEVICE);
bf->bf_dmacontext = bf->bf_buf_addr;
- ATH_RX_CONTEXT(skb)->ctx_rxbuf = bf;
}
sc->sc_rxlink = NULL;
@@@ -518,167 -512,43 +521,43 @@@ int ath_rx_tasklet(struct ath_softc *sc
}
}
- /* XXX: we do not support frames spanning
- * multiple descriptors */
- bf->bf_status |= ATH_BUFSTATUS_DONE;
-
skb = bf->bf_mpdu;
- if (skb == NULL) { /* XXX ??? can this happen */
- spin_unlock_bh(&sc->sc_rxbuflock);
+ if (!skb)
continue;
- }
- /*
- * Now we know it's a completed frame, we can indicate the
- * frame. Remove the previous holding descriptor and leave
- * this one in the queue as the new holding descriptor.
- */
- if (bf_held) {
- list_del(&bf_held->list);
- bf_held->bf_status &= ~ATH_BUFSTATUS_STALE;
- if (bf_held->bf_status & ATH_BUFSTATUS_FREE) {
- list_add_tail(&bf_held->list, &sc->sc_rxbuf);
- /* try to requeue this descriptor */
- ath_rx_buf_link(sc, bf_held);
- }
- }
- bf->bf_status |= ATH_BUFSTATUS_STALE;
- bf_held = bf;
/*
- * Release the lock here in case ieee80211_input() return
- * the frame immediately by calling ath_rx_mpdu_requeue().
+ * If we're asked to flush receive queue, directly
+ * chain it back at the queue without processing it.
*/
- spin_unlock_bh(&sc->sc_rxbuflock);
+ if (flush)
+ goto requeue;
- if (flush) {
- /*
- * If we're asked to flush receive queue, directly
- * chain it back at the queue without processing it.
- */
- goto rx_next;
- }
+ if (!ds->ds_rxstat.rs_datalen)
+ goto requeue;
- hdr = (struct ieee80211_hdr *)skb->data;
- fc = hdr->frame_control;
- memset(&rx_status, 0, sizeof(struct ath_recv_status));
+ /* The status portion of the descriptor could get corrupted. */
+ if (sc->sc_rxbufsize < ds->ds_rxstat.rs_datalen)
+ goto requeue;
- if (ds->ds_rxstat.rs_more) {
- /*
- * Frame spans multiple descriptors; this
- * cannot happen yet as we don't support
- * jumbograms. If not in monitor mode,
- * discard the frame.
- */
- #ifndef ERROR_FRAMES
- /*
- * Enable this if you want to see
- * error frames in Monitor mode.
- */
- if (sc->sc_ah->ah_opmode != ATH9K_M_MONITOR)
- goto rx_next;
- #endif
- /* fall thru for monitor mode handling... */
- } else if (ds->ds_rxstat.rs_status != 0) {
- if (ds->ds_rxstat.rs_status & ATH9K_RXERR_CRC)
- rx_status.flags |= ATH_RX_FCS_ERROR;
- if (ds->ds_rxstat.rs_status & ATH9K_RXERR_PHY) {
- phyerr = ds->ds_rxstat.rs_phyerr & 0x1f;
- goto rx_next;
- }
+ if (!ath_rx_prepare(skb, ds, &rx_status, &decrypt_error, sc))
+ goto requeue;
- if (ds->ds_rxstat.rs_status & ATH9K_RXERR_DECRYPT) {
- /*
- * Decrypt error. We only mark packet status
- * here and always push up the frame up to let
- * mac80211 handle the actual error case, be
- * it no decryption key or real decryption
- * error. This let us keep statistics there.
- */
- rx_status.flags |= ATH_RX_DECRYPT_ERROR;
- } else if (ds->ds_rxstat.rs_status & ATH9K_RXERR_MIC) {
- /*
- * Demic error. We only mark frame status here
- * and always push up the frame up to let
- * mac80211 handle the actual error case. This
- * let us keep statistics there. Hardware may
- * post a false-positive MIC error.
- */
- if (ieee80211_is_ctl(fc))
- /*
- * Sometimes, we get invalid
- * MIC failures on valid control frames.
- * Remove these mic errors.
- */
- ds->ds_rxstat.rs_status &=
- ~ATH9K_RXERR_MIC;
- else
- rx_status.flags |= ATH_RX_MIC_ERROR;
- }
- /*
- * Reject error frames with the exception of
- * decryption and MIC failures. For monitor mode,
- * we also ignore the CRC error.
- */
- if (sc->sc_ah->ah_opmode == ATH9K_M_MONITOR) {
- if (ds->ds_rxstat.rs_status &
- ~(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_MIC |
- ATH9K_RXERR_CRC))
- goto rx_next;
- } else {
- if (ds->ds_rxstat.rs_status &
- ~(ATH9K_RXERR_DECRYPT | ATH9K_RXERR_MIC)) {
- goto rx_next;
- }
- }
- }
- /*
- * The status portion of the descriptor could get corrupted.
- */
- if (sc->sc_rxbufsize < ds->ds_rxstat.rs_datalen)
- goto rx_next;
- /*
- * Sync and unmap the frame. At this point we're
- * committed to passing the sk_buff somewhere so
- * clear buf_skb; this means a new sk_buff must be
- * allocated when the rx descriptor is setup again
- * to receive another frame.
- */
- skb_put(skb, ds->ds_rxstat.rs_datalen);
- skb->protocol = cpu_to_be16(ETH_P_CONTROL);
- rx_status.tsf = ath_extend_tsf(sc, ds->ds_rxstat.rs_tstamp);
- rx_status.rateieee =
- sc->sc_hwmap[ds->ds_rxstat.rs_rate].ieeerate;
- rx_status.rateKbps =
- sc->sc_hwmap[ds->ds_rxstat.rs_rate].rateKbps;
- rx_status.ratecode = ds->ds_rxstat.rs_rate;
-
- /* HT rate */
- if (rx_status.ratecode & 0x80) {
- /* TODO - add table to avoid division */
- if (ds->ds_rxstat.rs_flags & ATH9K_RX_2040) {
- rx_status.flags |= ATH_RX_40MHZ;
- rx_status.rateKbps =
- (rx_status.rateKbps * 27) / 13;
- }
- if (ds->ds_rxstat.rs_flags & ATH9K_RX_GI)
- rx_status.rateKbps =
- (rx_status.rateKbps * 10) / 9;
- else
- rx_status.flags |= ATH_RX_SHORT_GI;
- }
+ /* Ensure we always have an skb to requeue once we are done
+ * processing the current buffer's skb */
+ requeue_skb = ath_rxbuf_alloc(sc, sc->sc_rxbufsize);
- /* sc_noise_floor is only available when the station
- attaches to an AP, so we use a default value
- if we are not yet attached. */
- rx_status.abs_rssi =
- ds->ds_rxstat.rs_rssi + sc->sc_ani.sc_noise_floor;
+ /* If there is no memory we ignore the current RX'd frame,
+ * tell hardware it can give us a new frame using the old
+ * skb and put it at the tail of the sc->sc_rxbuf list for
+ * processing. */
+ if (!requeue_skb)
+ goto requeue;
- pci_dma_sync_single_for_cpu(sc->pdev,
- bf->bf_buf_addr,
+ /* Sync and unmap the frame */
+ pci_dma_sync_single_for_cpu(sc->pdev, bf->bf_buf_addr,
- skb_tailroom(skb),
+ sc->sc_rxbufsize,
PCI_DMA_FROMDEVICE);
- pci_unmap_single(sc->pdev,
- bf->bf_buf_addr,
+ pci_unmap_single(sc->pdev, bf->bf_buf_addr,
sc->sc_rxbufsize,
PCI_DMA_FROMDEVICE);
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: linux-next: manual merge of the wireless tree
2008-11-26 8:40 linux-next: manual merge of the wireless tree Stephen Rothwell
@ 2008-12-02 20:52 ` Luis R. Rodriguez
0 siblings, 0 replies; 9+ messages in thread
From: Luis R. Rodriguez @ 2008-12-02 20:52 UTC (permalink / raw)
To: Stephen Rothwell
Cc: John W. Linville, linux-next@vger.kernel.org, Sujith Manoharan,
Luis Rodriguez, Bennyam Malavazi, David S. Miller
On Wed, Nov 26, 2008 at 12:40:41AM -0800, Stephen Rothwell wrote:
> Hi John,
>
> Today's linux-next merge of the wireless tree got a conflict in
> drivers/net/wireless/ath9k/recv.c between commits
> b4b6cda2298b0c9a0af902312184b775b8867c65 ("ath9k: correct expected max RX
> buffer size") and ca0c7e5101fd4f37fed8e851709f08580b92fbb3 ("ath9k: Fix
> SW-IOMMU bounce buffer starvation") from the wireless-current tree and
> commits fd568653b38a91154b193338c312927385e77da1 ("ath9k: Revamp RX
> handling") and from the wireless tree.
>
> I fixed it up (see below - I hope it is correct) and assume that it will
> be fixed soon.
Just sent a port for 2.6.27, hope it helps.
Luis
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-12-02 20:52 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-26 8:40 linux-next: manual merge of the wireless tree Stephen Rothwell
2008-12-02 20:52 ` Luis R. Rodriguez
-- strict thread matches above, loose matches on Subject: below --
2008-11-20 3:07 Stephen Rothwell
2008-11-20 8:27 ` David Miller
2008-11-20 13:48 ` John W. Linville
2008-09-17 7:43 Stephen Rothwell
2008-09-17 7:45 ` Johannes Berg
2008-07-03 4:43 Stephen Rothwell
2008-07-03 4:38 Stephen Rothwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).