2004-04-27 03:50:37

by Paul Jackson

[permalink] [raw]
Subject: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

Trying to build sparc64 as of 2.6.6-rc2-mm2, using the cross_compile
tools from http://developer.osdl.org/dev/plm/cross_compile/ (nice
tools - thanks!) fails for two reasons:

1) Broken drivers/char/drm/ffb_drv.c:

CC [M] drivers/char/drm/ffb_drv.o
In file included from drivers/char/drm/ffb_drv.c:336:
drivers/char/drm/drm_drv.h:547: error: `ffb_PCI_IDS' undeclared here (not in a function)
drivers/char/drm/drm_drv.h:547: error: initializer element is not constant
drivers/char/drm/drm_drv.h:547: error: (near initialization for `ffb_pciidlist[0]')
drivers/char/drm/ffb_drv.c:225: warning: `ffb_count_card_instances' defined but not used
make[3]: *** [drivers/char/drm/ffb_drv.o] Error 1

Andrew already reported this last week - something about missing PCI ID's.

2) An undefined 'hubstatus' variable in drivers/usb/core/hub.c:

CC drivers/usb/core/hub.o
drivers/usb/core/hub.c: In function `hub_port_connect_change':
drivers/usb/core/hub.c:1343: error: `hubstatus' undeclared (first use in this function)
drivers/usb/core/hub.c:1343: error: (Each undeclared identifier is reported only once
drivers/usb/core/hub.c:1343: error: for each function it appears in.)
make[3]: *** [drivers/usb/core/hub.o] Error 1

As a total shot in the dark, the following fixes the build (I've no clue
if it is the right fix):

===== drivers/usb/core/hub.c 1.93 vs edited =====
*** /tmp/hub.c-1.93-21850 Mon Apr 26 00:44:33 2004
--- drivers/usb/core/hub.c Mon Apr 26 20:44:58 2004
*************** static void hub_port_connect_change(stru
*** 1340,1346 ****
dev_dbg(&dev->dev, "get status %d ?\n", status);
continue;
}
! cpu_to_le16s(&hubstatus);
if ((devstat & (1 << USB_DEVICE_SELF_POWERED)) == 0) {
dev_err(&dev->dev,
"can't connect bus-powered hub "
--- 1340,1346 ----
dev_dbg(&dev->dev, "get status %d ?\n", status);
continue;
}
! cpu_to_le16s(&devstat);
if ((devstat & (1 << USB_DEVICE_SELF_POWERED)) == 0) {
dev_err(&dev->dev,
"can't connect bus-powered hub "


--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <[email protected]> 1.650.933.1373


2004-04-27 04:47:18

by Ian Kent

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

On Mon, 26 Apr 2004, Paul Jackson wrote:

> Trying to build sparc64 as of 2.6.6-rc2-mm2, using the cross_compile
> tools from http://developer.osdl.org/dev/plm/cross_compile/ (nice
> tools - thanks!) fails for two reasons:
>
> 1) Broken drivers/char/drm/ffb_drv.c:
>
> CC [M] drivers/char/drm/ffb_drv.o
> In file included from drivers/char/drm/ffb_drv.c:336:
> drivers/char/drm/drm_drv.h:547: error: `ffb_PCI_IDS' undeclared here (not in a function)
> drivers/char/drm/drm_drv.h:547: error: initializer element is not constant
> drivers/char/drm/drm_drv.h:547: error: (near initialization for `ffb_pciidlist[0]')
> drivers/char/drm/ffb_drv.c:225: warning: `ffb_count_card_instances' defined but not used
> make[3]: *** [drivers/char/drm/ffb_drv.o] Error 1
>
> Andrew already reported this last week - something about missing PCI ID's.
>

Yes and X didn't actually work when I got over that.

I'll test my build ASAP on rc2-mm2 and report results.

Ian

2004-04-27 14:47:30

by Ian Kent

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

On Tue, 27 Apr 2004, Ian Kent wrote:

I have to built 2.6.6-rc2-mm2 on my Ultra 1.
I don`t have USB so it's not in my config and the kernel builds OK.
Also I don't have a Creator card.

Unfortuneately I get an oops (see below) when I attempt to start X which
appears to be the same as with 2.6.6-rc2-mm1. If more info, configs etc.
would be useful let me know.

> On Mon, 26 Apr 2004, Paul Jackson wrote:
>
> > Trying to build sparc64 as of 2.6.6-rc2-mm2, using the cross_compile
> > tools from http://developer.osdl.org/dev/plm/cross_compile/ (nice
> > tools - thanks!) fails for two reasons:
> >
> > 1) Broken drivers/char/drm/ffb_drv.c:
> >
> > CC [M] drivers/char/drm/ffb_drv.o
> > In file included from drivers/char/drm/ffb_drv.c:336:
> > drivers/char/drm/drm_drv.h:547: error: `ffb_PCI_IDS' undeclared here (not in a function)
> > drivers/char/drm/drm_drv.h:547: error: initializer element is not constant
> > drivers/char/drm/drm_drv.h:547: error: (near initialization for `ffb_pciidlist[0]')
> > drivers/char/drm/ffb_drv.c:225: warning: `ffb_count_card_instances' defined but not used
> > make[3]: *** [drivers/char/drm/ffb_drv.o] Error 1
> >
> > Andrew already reported this last week - something about missing PCI ID's.
> >
>

Dave Airlie suggested I add (to ffb.h):

#define DRIVER_PCI_IDS { 0,0,0 }

for 2.6.6-rc2-mm1.

It appears that for 2.6.6-rc2-mm2 this should be:

#define ffb_PCI_IDS { 0,0,0 }

which allows the kernel to build.

Dave was however, concerned that this may have side effects.

So to the point,

Apr 24 02:05:04 donald Unable to handle kernel paging request at virtual address 0000000040894000
Apr 24 02:05:04 donald tsk->{mm,active_mm}->context = 000000000000059e
Apr 24 02:05:04 donald tsk->{mm,active_mm}->pgd = fffff80032382000
Apr 24 02:05:04 donald \|/ ____ \|/
Apr 24 02:05:04 donald "@'/ .. \`@"
Apr 24 02:05:04 donald /_| \__/ |_\
Apr 24 02:05:04 donald \__U_/
Apr 24 02:05:04 donald X(3403): Oops [#1]
Apr 24 02:05:04 donald TSTATE: 0000004480009607 TPC: 000000000058156c TNPC: 0000000000581570 Y: 00000000 Not tainted
Apr 24 02:05:04 donald TPC: <fb_set_cmap+0x10c/0x140>
Apr 24 02:05:04 donald g0: 0000000000000003 g1: 0000000000000000 g2: 0000000000000000 g3: 0000000000000000
Apr 24 02:05:04 donald g4: fffff80033590b60 g5: 0000000000677640 g6: fffff80033428000 g7: 0000000000000003
Apr 24 02:05:04 donald o0: 0000000000511aa8 o1: 0000000000000000 o2: 0000000000000000 o3: 0000000000000000
Apr 24 02:05:04 donald o4: 000000000000ffff o5: 000000000000004b sp: fffff8003342ad61 ret_pc: 0000000000391ccc
Apr 24 02:05:04 donald RPC: <0x391ccc>
Apr 24 02:05:04 donald l0: 0000000040895ad0 l1: fffff8003342b6da l2: fffff8003342b6dc l3: fffff8003342b6de
Apr 24 02:05:04 donald l4: 0000000000000000 l5: fffff8003342b6e0 l6: 0000000000000000 l7: 000000000000fc00
Apr 24 02:05:04 donald i0: fffff8003342b6e0 i1: 0000000000000000 i2: fffff800007c5400 i3: 0000000000000000
Apr 24 02:05:04 donald i4: 0000000000000010 i5: 0000000000000010 i6: fffff8003342ae21 i7: 0000000000582fe0
Apr 24 02:05:04 donald I7: <sbusfb_ioctl_helper+0x300/0x340>
Apr 24 02:05:04 donald Caller[0000000000582fe0]: sbusfb_ioctl_helper+0x300/0x340
Apr 24 02:05:04 donald Caller[000000000057e434]: fb_ioctl+0x94/0x380
Apr 24 02:05:04 donald Caller[0000000000499258]: sys_ioctl+0x118/0x2e0
Apr 24 02:05:04 donald Caller[0000000000434918]: fbiogetputcmap+0xf8/0x1e0
Apr 24 02:05:04 donald Caller[00000000004b02d8]: compat_sys_ioctl+0xf8/0x280
Apr 24 02:05:04 donald Caller[0000000000410cb4]: linux_sparc_syscall32+0x34/0x40
Apr 24 02:05:04 donald Caller[000000000005abec]: 0x5abec
Apr 24 02:05:04 donald Instruction DUMP: 9815e3ff 02f43fda 97306010 <c2942000> 84100000 83286010 106fffd5 99306010 81cfe008

2004-04-28 00:17:42

by Dave Airlie

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus


> > > CC [M] drivers/char/drm/ffb_drv.o
> > > In file included from drivers/char/drm/ffb_drv.c:336:
> > > drivers/char/drm/drm_drv.h:547: error: `ffb_PCI_IDS' undeclared here (not in a function)
> > > drivers/char/drm/drm_drv.h:547: error: initializer element is not constant
> > > drivers/char/drm/drm_drv.h:547: error: (near initialization for `ffb_pciidlist[0]')
> > > drivers/char/drm/ffb_drv.c:225: warning: `ffb_count_card_instances' defined but not used
> > > make[3]: *** [drivers/char/drm/ffb_drv.o] Error 1

> It appears that for 2.6.6-rc2-mm2 this should be:
>
> #define ffb_PCI_IDS { 0,0,0 }
>
> which allows the kernel to build.

this should be fixed in the next pull from the DRM bk tree, bk seems to be
down so I can't confirm the fix is in there at the moment ...

Looking at the oops it looks like the framebuffer device is crashing, can
you trry building it without the ffb DRM and see if it still crashes?


Thanks,
Dave.

--
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person

2004-04-28 02:22:47

by Ian Kent

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

On Wed, 28 Apr 2004, Dave Airlie wrote:

>
> > > > CC [M] drivers/char/drm/ffb_drv.o
> > > > In file included from drivers/char/drm/ffb_drv.c:336:
> > > > drivers/char/drm/drm_drv.h:547: error: `ffb_PCI_IDS' undeclared here (not in a function)
> > > > drivers/char/drm/drm_drv.h:547: error: initializer element is not constant
> > > > drivers/char/drm/drm_drv.h:547: error: (near initialization for `ffb_pciidlist[0]')
> > > > drivers/char/drm/ffb_drv.c:225: warning: `ffb_count_card_instances' defined but not used
> > > > make[3]: *** [drivers/char/drm/ffb_drv.o] Error 1
>
> > It appears that for 2.6.6-rc2-mm2 this should be:
> >
> > #define ffb_PCI_IDS { 0,0,0 }
> >
> > which allows the kernel to build.
>
> this should be fixed in the next pull from the DRM bk tree, bk seems to be
> down so I can't confirm the fix is in there at the moment ...
>
> Looking at the oops it looks like the framebuffer device is crashing, can
> you trry building it without the ffb DRM and see if it still crashes?
>

I'll investigate but I think that, either I need the fb device or
X -configure has it wrong. It thinks I have devices fb0 and fb1.

One thing I can do is disable all the graphics devices except the one that
I have. I left the others in to test out the build.

I have dual cgsix (TGX) cards in my Sun.

Ian

2004-04-28 02:27:46

by Dave Airlie

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

> >
>
> I'll investigate but I think that, either I need the fb device or
> X -configure has it wrong. It thinks I have devices fb0 and fb1.

leave in the "fb" device but don't enable direct rendering "ffb" device,
not the extra f, if it still crashes with just the framebuffer and not the
DRM then there is a framebuffer issue ...

CONFIG_DRM_FFB should be n is probably the most straightforward way to
check it isn't in there..

Dave.

--
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person

2004-04-28 03:26:42

by Randy.Dunlap

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus


The USB hubstatus part of the patch looked correct to me.
Greg, do you already have a s/hubstatus/devstat/ in hub.c,
near line 1343?

original email:
http://marc.theaimsgroup.com/?l=linux-kernel&m=108303816120001&w=2

Paul, please use diff -u (unified) type diffs in the future.

--
~Randy

2004-04-28 13:32:56

by Ian Kent

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

On Wed, 28 Apr 2004, Dave Airlie wrote:

> > >
> >
> > I'll investigate but I think that, either I need the fb device or
> > X -configure has it wrong. It thinks I have devices fb0 and fb1.
>
> leave in the "fb" device but don't enable direct rendering "ffb" device,
> not the extra f, if it still crashes with just the framebuffer and not the
> DRM then there is a framebuffer issue ...
>
> CONFIG_DRM_FFB should be n is probably the most straightforward way to
> check it isn't in there..

Did that and got simmilar oops.

X -configure still insists I have BusID "SBUS:fb0" and "SBUS:fb1" devices.
If I configure BusID "sbus@1f,0/[email protected]" and "sbus@1f,0/cgsix@2,0" as I
would in 2.4 X complains that it can't find the "SBUS:fbn" devices.

Opps:

Apr 28 20:06:31 donald Unable to handle kernel paging request at virtual address 00000000408f8000
Apr 28 20:06:31 donald tsk->{mm,active_mm}->context = 0000000000000625
Apr 28 20:06:31 donald tsk->{mm,active_mm}->pgd = fffff800302c5000
Apr 28 20:06:31 donald \|/ ____ \|/
Apr 28 20:06:31 donald "@'/ .. \`@"
Apr 28 20:06:31 donald /_| \__/ |_\
Apr 28 20:06:31 donald \__U_/
Apr 28 20:06:31 donald X(5651): Oops [#1]
Apr 28 20:06:31 donald TSTATE: 0000009980009602 TPC: 00000000004201ac TNPC: 00000000004201b0 Y: 00000000 Not tainted
Apr 28 20:06:31 donald TPC: <kernel_unaligned_trap+0x26c/0x364>
Apr 28 20:06:31 donald g0: 0000000000000000 g1: 0000000000002000 g2: 000000000614a100 g3: 0000000000000080
Apr 28 20:06:31 donald g4: fffff80033712ad0 g5: 0000000000000000 g6: fffff8003208c000 g7: 0000000000000003
Apr 28 20:06:31 donald o0: fffff8003208f4c8 o1: fffff8003208f4c0 o2: 0000000000000001 o3: fffff800337220e0
Apr 28 20:06:31 donald o4: 0000000000000000 o5: 0000000000000000 sp: fffff8003208e9f1 ret_pc: 0000000000420160
Apr 28 20:06:31 donald RPC: <kernel_unaligned_trap+0x220/0x364>
Apr 28 20:06:31 donald l0: 0000000000000002 l1: 0000000000000001 l2: 0000000000000001 l3: 0000000000000002
Apr 28 20:06:31 donald l4: 0000000000000000 l5: 00000000408f9e47 l6: 0000000000000000 l7: 0000000000000000
Apr 28 20:06:31 donald i0: fffff8003208f4c0 i1: 00000000c2942000 i2: 00000000408f9e47 i3: 0000000000800009
Apr 28 20:06:31 donald i4: 00000000004bcf24 i5: 00000000004bcf04 i6: fffff8003208eac1 i7: 0000000000419a48
Apr 28 20:06:31 donald I7: <mem_address_unaligned+0x28/0x80>
Apr 28 20:06:31 donald Caller[0000000000419a48]: mem_address_unaligned+0x28/0x80
Apr 28 20:06:31 donald Caller[0000000000410a00]: do_mna+0x3c/0x4c
Apr 28 20:06:31 donald Caller[000000000032022c]: 0x32022c
Apr 28 20:06:31 donald Caller[0000000000582c40]: sbusfb_ioctl_helper+0x300/0x340
Apr 28 20:06:31 donald Caller[000000000057e254]: fb_ioctl+0x94/0x380
Apr 28 20:06:31 donald Caller[00000000004994f8]: sys_ioctl+0x118/0x2e0
Apr 28 20:06:31 donald Caller[0000000000434a98]: fbiogetputcmap+0xf8/0x1e0
Apr 28 20:06:31 donald Caller[00000000004b0558]: compat_sys_ioctl+0xf8/0x280
Apr 28 20:06:31 donald Caller[0000000000410cb4]: linux_sparc_syscall32+0x34/0x40
Apr 28 20:06:31 donald Caller[000000000005abec]: 0x5abec
Apr 28 20:06:31 donald Instruction DUMP: 16400019 80a4e004 0248000a <e28d6000> e48d6001 a32c6008 02c94004 a2044012 a32c7030

2004-04-28 20:28:58

by Greg KH

[permalink] [raw]
Subject: Re: sparc64 2.6.6-rc2-mm2 build busted: usb/core/hub.c hubstatus

On Tue, Apr 27, 2004 at 08:25:20PM -0700, Randy.Dunlap wrote:
>
> The USB hubstatus part of the patch looked correct to me.
> Greg, do you already have a s/hubstatus/devstat/ in hub.c,
> near line 1343?

David Brownell already sent me a patch to fix this issue.

thanks,

greg k-h