Messages in this thread | | | Subject | Re: [PATCH] fix unaligned exception in /drivers/net/wireless/orinoco.c | From | Pavel Roskin <> | Date | Mon, 05 Feb 2007 00:08:38 -0500 |
| |
On Fri, 2007-02-02 at 15:20 -0500, John W. Linville wrote: > On Thu, Jan 18, 2007 at 09:57:18AM -0000, Hennerich, Michael wrote: > > > > This short patch prevents an unaligned exception to occur. (GCC 4.1) > > tmp is defined as char pointer while it is later accessed as short.
Signed-off-by: Pavel Roskin <proski@gnu.org>
> This patch seems fine, such as it is. But, it seems like it might > also be appropriate to change hermes_read_ltv and/or hermes_read_words > to not take void * parameters? This patch would still be needed, > but it might be more obvious to future coders?
I agree. If we use any optimization that requires alignment of the buffer for aligned access, it needs to be clearly specified and (ideally) enforced.
I've tried to make a patch, but it seems to be a bigger effort than I expected. It turns out that hermes_clear_words() is not doing what it should (although it would only affect some buggy firmwares), and it's clear that I just cannot replace a couple of arguments and hope for the best. I need to dust off my 802.11b cards and re-test everything.
I've started orinoco branch locally, and I hope I'll be able to clean the driver from all that bitrot soon.
-- Regards, Pavel Roskin
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |