linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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 linux-next: manual merge of the wireless tree 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 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-20  3:07 linux-next: manual merge of the wireless tree Stephen Rothwell
2008-11-20  8:27 ` David Miller
2008-11-20 13:48   ` John W. Linville
  -- strict thread matches above, loose matches on Subject: below --
2008-11-26  8:40 Stephen Rothwell
2008-12-02 20:52 ` Luis R. Rodriguez
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).