[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1231567645.5714.19.camel@brick>
Date: Fri, 09 Jan 2009 22:07:25 -0800
From: Harvey Harrison <harvey.harrison@...il.com>
To: Roland Dreier <rdreier@...co.com>
Cc: netdev@...r.kernel.org
Subject: Re: Some NIPQUAD_FMT -> %pI4 conversions are broken
On Fri, 2009-01-09 at 19:47 -0800, Roland Dreier wrote:
> I just noticed (by getting a messed up print in my kernel log) that most
> of the changes to drivers/infiniband/hw/nes in commit 63779436
> ("drivers: replace NIPQUAD()") were wrong: the idea was to change printk
> statements like
>
> printk("..." NIPQUAD_FMT "...", NIPQUAD(foo));
>
> but most of the changes in nes were to code like
>
> printk("..." NIPQUAD_FMT "...", HIPQUAD(foo));
>
> ie *H* IPQUAD not *N* IPQUAD, indicating the foo is in host endian
> order, and hence the new code
>
> printk("...%pI4...", &foo);
>
> prints the IP in reverse order now.
>
> I don't see a good way to fix this without introducing a temporary
> variable to hold a swapped IP address... but is there a better way?
>
My apologies indeed, the best choice I think is to add a temp var for
now and I'll work with you to eliminate the byteswapping further up the
callchain so a be32 gets passed down, but that might be too involved for 2.6.29.
Sound OK?
Harvey
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists