All of lore.kernel.org
 help / color / mirror / Atom feed
From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH] net: fix unaligned memory accesses in ASIX
Date: Thu, 26 Mar 2009 11:01:50 +0100	[thread overview]
Message-ID: <49CB528E.9060505@st.com> (raw)
In-Reply-To: <20090326.020018.26561577.davem@davemloft.net>

David Miller wrote:
> From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
> Date: Thu, 26 Mar 2009 09:40:13 +0100
>
>   
>> Unfortunately, unaligned memory accesses seems to depend on the Asix HW
>> that packs several incoming frames.
>> So when these frames are 'unpacked' within the fix-up function, and
>> pushed to the upper layer, they can have a wrong alignment, indeed.
>> When no frame is packed all works fine and the IP never works with
>> unaligned addresses.
>> I think, the skb_reserve could actually help us, if this last scenario
>> generated misaligned accesses.
>> Please let me know if I'm missing something.
>>     
>
> The unpacker is taking a set of packet(s) in a USB buffer
> and copying them into SKB's right?  That code should be where
> the offset is checked in the child driver, and adjustments
> made as-needed.
>
> This code seems to call the downstream driver callback after
> the damage is done.  I think it needs to ask the driver to
> look for and indicate the offset before the building of the
> SKB is performed.
>   
I understand your point of view.

In any case, at first glance, I understand that the urb->transfer_buffer
directly points to the preallocated skb data.
These are filled by the HWs. I mean, the buffers are treated by the HW.
So I guess, the meaning of the rx_fixup functions is just to solve this
kind of situations.
In fact, each usb net driver has an own fixup code according to their HW
specifications.

Peppe

  reply	other threads:[~2009-03-26 10:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-26  6:52 [PATCH] net: fix unaligned memory accesses in ASIX Giuseppe CAVALLARO
2009-03-26  8:08 ` David Miller
2009-03-26  8:40   ` Giuseppe CAVALLARO
2009-03-26  9:00     ` David Miller
2009-03-26 10:01       ` Giuseppe CAVALLARO [this message]
2009-04-15 10:14         ` David Miller

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=49CB528E.9060505@st.com \
    --to=peppe.cavallaro@st.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /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.