All of lore.kernel.org
 help / color / mirror / Atom feed
From: "John W. Linville" <linville@tuxdriver.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	Shaddy Baddah <shaddy_baddah@hotmail.com>,
	David Miller <davem@davemloft.net>,
	dsd@gentoo.org, kune@deine-taler.de
Subject: Re: ZD1211RW unaligned accesses...
Date: Thu, 29 Nov 2007 16:45:33 -0500	[thread overview]
Message-ID: <20071129214533.GD32730@tuxdriver.com> (raw)
In-Reply-To: <20071124150216.GA28153@gondor.apana.org.au>

So, did the patch below fix the problem?  Should I apply it?

John

On Sat, Nov 24, 2007 at 11:02:16PM +0800, Herbert Xu wrote:
> On Wed, Nov 21, 2007 at 01:00:44PM +0000, Shaddy Baddah wrote:
> >
> > It hasn't seemed to. I patched the source (confirming the patched lines 
> > are in), compiled, installed and rebooted to effect the changes. My 
> > zd1211rw modules timestamp indicates that I have an updated module:
> 
> Thanks for your quick response and sorry for my late answer :)
> 
> I think Dave's patch is definietly on the right track but there
> are subsequent unaligned accesses of a similar kind which is
> why it still appears to be broken if you look at the kernel
> messages.
> 
> But there is definitely progress because those addresses are now
> bigger (0x394/0x39c/0x3a8 vs. 0x2** earlier).
> 
> So please try the following patch (instead of the original one)
> which should fix all the unailgned accesses in do_rx.
> 
> Cheers,
> -- 
> Visit Openswan at http://www.openswan.org/
> Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
> --
> diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c
> index a903645..d06b05b 100644
> --- a/drivers/net/wireless/zd1211rw/zd_mac.c
> +++ b/drivers/net/wireless/zd1211rw/zd_mac.c
> @@ -1166,15 +1166,16 @@ static void do_rx(unsigned long mac_ptr)
>  int zd_mac_rx_irq(struct zd_mac *mac, const u8 *buffer, unsigned int length)
>  {
>  	struct sk_buff *skb;
> +	unsigned int hlen = ALIGN(sizeof(struct zd_rt_hdr), 16);
>  
> -	skb = dev_alloc_skb(sizeof(struct zd_rt_hdr) + length);
> +	skb = dev_alloc_skb(hlen + length);
>  	if (!skb) {
>  		struct ieee80211_device *ieee = zd_mac_to_ieee80211(mac);
>  		dev_warn(zd_mac_dev(mac), "Could not allocate skb.\n");
>  		ieee->stats.rx_dropped++;
>  		return -ENOMEM;
>  	}
> -	skb_reserve(skb, sizeof(struct zd_rt_hdr));
> +	skb_reserve(skb, hlen - ZD_PLCP_HEADER_SIZE);
>  	memcpy(__skb_put(skb, length), buffer, length);
>  	skb_queue_tail(&mac->rx_queue, skb);
>  	tasklet_schedule(&mac->rx_tasklet);
> -
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
John W. Linville
linville@tuxdriver.com

  parent reply	other threads:[~2007-11-29 21:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-20 12:05 ZD1211RW unaligned accesses David Miller
2007-11-21 13:00 ` Shaddy Baddah
2007-11-21 13:00   ` Shaddy Baddah
2007-11-24 15:02   ` Herbert Xu
2007-11-24 15:02     ` Herbert Xu
2007-11-24 16:52     ` Ulrich Kunitz
2007-11-24 16:52       ` Ulrich Kunitz
2007-11-29 21:45     ` John W. Linville [this message]
2007-11-29 23:43       ` Herbert Xu
2007-11-29 23:43         ` Herbert Xu
2007-11-30  7:34         ` Shaddy Baddah
2007-11-30  7:34           ` Shaddy Baddah
2007-11-30  9:50           ` Herbert Xu
2007-11-30 11:33         ` Johannes Berg
2007-11-30 11:33           ` Johannes Berg
2007-12-01 10:33       ` Ulrich Kunitz
2007-12-01 10:33         ` Ulrich Kunitz
2007-11-23 10:41 ` Johannes Berg
2007-11-23 10:41   ` Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071129214533.GD32730@tuxdriver.com \
    --to=linville@tuxdriver.com \
    --cc=davem@davemloft.net \
    --cc=dsd@gentoo.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=kune@deine-taler.de \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=shaddy_baddah@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.