Messages in this thread |  | | | Date | Thu, 22 May 2008 04:39:16 +0200 | | From | "Gabriel C" <> | | Subject | Re: linux-next: [PATCH] infiniband/hw/ipath/ipath_sdma.c , fix compiler warnings |
| |
2008/5/22 Tony Breeds <tony@bakeyournoodle.com>: > > On Wed, May 21, 2008 at 04:06:36PM +0200, Gabriel C wrote: > > On linux-next from today , allmodconfig, I see the following warnings on 64bit: > > x86_64 right? > > <snip> > > > diff --git a/drivers/infiniband/hw/ipath/ipath_sdma.c b/drivers/infiniband/hw/ipath/ipath_sdma.c > > index 3697449..5f80151 100644 > > --- a/drivers/infiniband/hw/ipath/ipath_sdma.c > > +++ b/drivers/infiniband/hw/ipath/ipath_sdma.c > > @@ -257,7 +257,7 @@ static void sdma_abort_task(unsigned long opaque) > > /* everything is stopped, time to clean up and restart */ > > if (status == IPATH_SDMA_ABORT_ABORTED) { > > struct ipath_sdma_txreq *txp, *txpnext; > > - u64 hwstatus; > > + unsigned long hwstatus; > > int notify = 0; > > > > hwstatus = ipath_read_kreg64(dd, > > This can't be right. hwstatus needs to be u64, as that's what ipath_read_kreg64() retuns. > and a little bit further down we see: > > --- > if (/* ScoreBoardDrainInProg */ > test_bit(63, &hwstatus) || > /* AbortInProg */ > test_bit(62, &hwstatus) || > /* InternalSDmaEnable */ > test_bit(61, &hwstatus) || > --- > > so hwstatus, clearly needs to be 64-bits.
Hmm , right it need be 64-bits.
I should drink my coffee first and read code more carefully before sending out wrong patches , sorry.
> This brings up an interesting point. test_bit() and co are > essntally expecting to be passed the address > of an unsigned long[], so is it correct to pass &u64?
I'm not sure about this one.
> > Yours Tony >
Gabriel
|  |