2009-10-28 22:29:17

by Milan Dadok

[permalink] [raw]
Subject: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include

Add missing #include to make hv module compile successfull.

Signed-off-by: Milan Dadok <[email protected]>

---
diff -uprN -X /usr/src/linux/Documentation/dontdiff
/usr/src/linux-2.6.32-rc5/drivers/staging/hv/ChannelMgmt.h
/usr/src/linux/drivers/staging/hv/ChannelMgmt.h
--- /usr/src/linux-2.6.32-rc5/drivers/staging/hv/ChannelMgmt.h 2009-10-28
18:13:04.000000000 +0100
+++ /usr/src/linux/drivers/staging/hv/ChannelMgmt.h 2009-10-28
17:47:28.000000000 +0100
@@ -26,6 +26,7 @@
#define _CHANNEL_MGMT_H_

#include <linux/list.h>
+#include <linux/timer.h>
#include "RingBuffer.h"
#include "VmbusChannelInterface.h"
#include "VmbusPacketFormat.h"
diff -uprN -X /usr/src/linux/Documentation/dontdiff
/usr/src/linux-2.6.32-rc5/drivers/staging/hv/osd.h
/usr/src/linux/drivers/staging/hv/osd.h
--- /usr/src/linux-2.6.32-rc5/drivers/staging/hv/osd.h 2009-10-28
18:13:04.000000000 +0100
+++ /usr/src/linux/drivers/staging/hv/osd.h 2009-10-28
17:51:08.000000000 +0100
@@ -25,6 +25,7 @@
#ifndef _OSD_H_
#define _OSD_H_

+#include <linux/workqueue.h>

/* Defines */
#define ALIGN_UP(value, align) (((value) & (align-1)) ? \
---


2009-10-28 22:31:38

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include

On Wed, Oct 28, 2009 at 11:23:50PM +0100, Milan Dadok wrote:
> Add missing #include to make hv module compile successfull.

What is the platform that causes this patch to be needed? This doesn't
seem to be needed in my testing here.

thanks,

greg k-h

2009-10-28 22:53:59

by Milan Dadok

[permalink] [raw]
Subject: RE: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include

It's gentoo
Primary I was working on linux-2.6.31-gentoo
gcc-config -l
[1] i686-pc-linux-gnu-4.3.2 *

10 Sep 2009; Mike Pagano <[email protected]>
+gentoo-sources-2.6.31.ebuild:
Initial 2.6.31 release including the fbcondecor patch,, a paoatch to
enable control of the unaligned access control policy from sysctl and a
patch for bad block relocation support for LiveCD users.

I already suspected some error on my side, therefor I installed vanilla
2.6.32-r5
Because I cannot made it to compile without #include, I send third patch.

Now I tried it again - and it look like only #include in osd.h is missing.
In ChannelMgmt.h is not ...

My error is (#include workqueue.h commented in osd.h)
# make SUBDIR=drivers/staging/hv CONFIG_DEBUG_SECTION_MISMATCH=y modules

CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CC [M] drivers/staging/hv/blkvsc_drv.o
CC [M] drivers/staging/hv/BlkVsc.o
In file included from drivers/staging/hv/BlkVsc.c:24:
drivers/staging/hv/osd.h:68: warning: 'struct workqueue_struct' declared
inside parameter list
drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
declaration, which is probably not what you want
CC [M] drivers/staging/hv/netvsc_drv.o
CC [M] drivers/staging/hv/NetVsc.o
In file included from drivers/staging/hv/NetVsc.c:24:
drivers/staging/hv/osd.h:68: warning: 'struct workqueue_struct' declared
inside parameter list
drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
declaration, which is probably not what you want
CC [M] drivers/staging/hv/RndisFilter.o
In file included from drivers/staging/hv/RndisFilter.c:24:
drivers/staging/hv/osd.h:68: warning: 'struct workqueue_struct' declared
inside parameter list
drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
declaration, which is probably not what you want
CC [M] drivers/staging/hv/storvsc_drv.o
CC [M] drivers/staging/hv/StorVsc.o
In file included from drivers/staging/hv/StorVsc.c:25:
drivers/staging/hv/osd.h:68: warning: 'struct workqueue_struct' declared
inside parameter list
drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
declaration, which is probably not what you want
CC [M] drivers/staging/hv/vmbus_drv.o
CC [M] drivers/staging/hv/osd.o
CC [M] drivers/staging/hv/Vmbus.o
In file included from drivers/staging/hv/Vmbus.c:24:
drivers/staging/hv/osd.h:68: warning: 'struct workqueue_struct' declared
inside parameter list
drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
declaration, which is probably not what you want
In file included from drivers/staging/hv/Channel.h:28,
from drivers/staging/hv/VmbusPrivate.h:30,
from drivers/staging/hv/Vmbus.c:27:
drivers/staging/hv/ChannelMgmt.h:232: error: field 'poll_timer' has
incomplete type
drivers/staging/hv/Vmbus.c: In function 'VmbusOnMsgDPC':
drivers/staging/hv/Vmbus.c:193: warning: passing argument 1 of
'osd_schedule_callback' from incompatible pointer type
make[3]: *** [drivers/staging/hv/Vmbus.o] Error 1
make[2]: *** [drivers/staging/hv] Error 2
make[1]: *** [drivers/staging] Error 2
make: *** [drivers] Error 2

Milan

PS. I have another error with 2.6.32-rc5 - if there is some WARNING mismatch
in reference, then *.ko is not copied to
/lib/modules/2.6.32-rc5/kernel/drivers/staging/hv/
It is correct behaivour of kernel build system?
2.6.31 without warning always copied .ko files to /lib

At 23:46 run
snow# make SUBDIR=drivers/staging/hv CONFIG_DEBUG_SECTION_MISMATCH=y modules
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CC [M] drivers/staging/hv/blkvsc_drv.o
CC [M] drivers/staging/hv/BlkVsc.o
CC [M] drivers/staging/hv/netvsc_drv.o
CC [M] drivers/staging/hv/NetVsc.o
CC [M] drivers/staging/hv/RndisFilter.o
CC [M] drivers/staging/hv/storvsc_drv.o
CC [M] drivers/staging/hv/StorVsc.o
CC [M] drivers/staging/hv/vmbus_drv.o
CC [M] drivers/staging/hv/osd.o
CC [M] drivers/staging/hv/Vmbus.o
CC [M] drivers/staging/hv/Hv.o
CC [M] drivers/staging/hv/Connection.o
CC [M] drivers/staging/hv/Channel.o
CC [M] drivers/staging/hv/ChannelMgmt.o
CC [M] drivers/staging/hv/ChannelInterface.o
CC [M] drivers/staging/hv/RingBuffer.o
LD [M] drivers/staging/hv/hv_vmbus.o
LD [M] drivers/staging/hv/hv_storvsc.o
LD [M] drivers/staging/hv/hv_blkvsc.o
LD [M] drivers/staging/hv/hv_netvsc.o
Building modules, stage 2.
MODPOST 401 modules
WARNING: drivers/net/virtio_net.o(.data+0x4c): Section mismatch in reference
from the variable virtio_net to the function .devexit.text:virtnet_remove()
The variable virtio_net references
the function __devexit virtnet_remove()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

CC drivers/staging/hv/hv_blkvsc.mod.o
LD [M] drivers/staging/hv/hv_blkvsc.ko
CC drivers/staging/hv/hv_netvsc.mod.o
LD [M] drivers/staging/hv/hv_netvsc.ko
CC drivers/staging/hv/hv_storvsc.mod.o
LD [M] drivers/staging/hv/hv_storvsc.ko
LD [M] drivers/staging/hv/hv_vmbus.ko
snow hv # ll /lib/modules/2.6.32-rc5/kernel/drivers/staging/hv/
total 156
-rw-r--r-- 1 root root 31415 Oct 28 23:16 hv_blkvsc.ko
-rw-r--r-- 1 root root 34863 Oct 28 23:16 hv_netvsc.ko
-rw-r--r-- 1 root root 26949 Oct 28 23:16 hv_storvsc.ko
-rw-r--r-- 1 root root 53503 Oct 28 23:16 hv_vmbus.ko


-----Original Message-----
From: Greg KH [mailto:[email protected]]
Sent: Wednesday, October 28, 2009 11:31 PM
To: Milan Dadok
Cc: [email protected]; 'Hank Janssen'; 'Haiyang Zhang'
Subject: Re: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include

On Wed, Oct 28, 2009 at 11:23:50PM +0100, Milan Dadok wrote:
> Add missing #include to make hv module compile successfull.

What is the platform that causes this patch to be needed? This doesn't
seem to be needed in my testing here.

thanks,

greg k-h

2009-10-28 23:04:10

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include

On Wed, Oct 28, 2009 at 11:54:00PM +0100, Milan Dadok wrote:
> It's gentoo
> Primary I was working on linux-2.6.31-gentoo
> gcc-config -l
> [1] i686-pc-linux-gnu-4.3.2 *
>
> 10 Sep 2009; Mike Pagano <[email protected]>
> +gentoo-sources-2.6.31.ebuild:
> Initial 2.6.31 release including the fbcondecor patch,, a paoatch to
> enable control of the unaligned access control policy from sysctl and a
> patch for bad block relocation support for LiveCD users.
>
> I already suspected some error on my side, therefor I installed vanilla
> 2.6.32-r5
> Because I cannot made it to compile without #include, I send third patch.
>
> Now I tried it again - and it look like only #include in osd.h is missing.
> In ChannelMgmt.h is not ...
>
> My error is (#include workqueue.h commented in osd.h)
> # make SUBDIR=drivers/staging/hv CONFIG_DEBUG_SECTION_MISMATCH=y modules
>
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> SYMLINK include/asm -> include/asm-x86
> CALL scripts/checksyscalls.sh
> CC [M] drivers/staging/hv/blkvsc_drv.o
> CC [M] drivers/staging/hv/BlkVsc.o
> In file included from drivers/staging/hv/BlkVsc.c:24:
> drivers/staging/hv/osd.h:68: warning: 'struct workqueue_struct' declared
> inside parameter list
> drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
> declaration, which is probably not what you want

Wierd. Can you send me your .config file? I can't duplicate this on
Linus's current git tree at all.

> PS. I have another error with 2.6.32-rc5 - if there is some WARNING mismatch
> in reference, then *.ko is not copied to
> /lib/modules/2.6.32-rc5/kernel/drivers/staging/hv/
> It is correct behaivour of kernel build system?
> 2.6.31 without warning always copied .ko files to /lib

I don't know, I think that means an error is happening somewhere else.

thanks,

greg k-h

2009-10-29 00:14:32

by Hank Janssen

[permalink] [raw]
Subject: RE: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include



>> On Wed, Oct 28, 2009 at 4:01 PM, Greg KH wrote:
>>On Wed, Oct 28, 2009 at 11:54:00PM +0100, Milan Dadok wrote:
> drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
> declaration, which is probably not what you want
>
>Wierd. Can you send me your .config file? I can't duplicate this on
>Linus's current git tree at all.

Can you forward me your config as well Milan? I am running of Linus latest
Git tree and it works just fine without the include in osd.h. There should be
No reason to have the include in osd.h.

Thanks,

Hank.

2009-10-29 00:30:15

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] 3/3 staging: hv: fix oops in vmbus - missing #include

On Thu, Oct 29, 2009 at 12:14:34AM +0000, Hank Janssen wrote:
>
>
> >> On Wed, Oct 28, 2009 at 4:01 PM, Greg KH wrote:
> >>On Wed, Oct 28, 2009 at 11:54:00PM +0100, Milan Dadok wrote:
> > drivers/staging/hv/osd.h:68: warning: its scope is only this definition or
> > declaration, which is probably not what you want
> >
> >Wierd. Can you send me your .config file? I can't duplicate this on
> >Linus's current git tree at all.
>
> Can you forward me your config as well Milan? I am running of Linus latest
> Git tree and it works just fine without the include in osd.h. There should be
> No reason to have the include in osd.h.

Milan sent it to me off-list, and with Linus's latest tree, I can
duplicate this. I'll queue up his patch.

thanks,

greg k-h