Re: Kernel 3.1 fails to build due to error in USB subsystem.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



W dniu 26.10.2011 17:08, Alan Stern pisze:
On Wed, 26 Oct 2011, Konrad Rzepecki wrote:
> I use '2' config to compile kernel on slackware-current64 - it build
> without problem.
>
> I also try to compile kernel on '2' with "defconfig", it also build
> without problem.
>
>
> It seems error exists only with older toolchain (however still
> supported) when usb support is compile in kernel.
>
>
> If you need I can provide detailed info (configs, other tool versions, etc).
>
> When really necessary I can bisect to found exactly commit that cause
> this problem. However this will be very inconvenient to do this on those
> systems, so i want to avoid it, if not really needed.

The code is pretty easy to understand.  __bad_udelay is used to
generate an error whenever the delay would be 20000 us or longer.  But
the delay in quirk_usb_early_handoff() is only 100 us, so there's no
reason for an error.

Probably the old compiler, even though it may nominally still be
supported, doesn't generate correct code here.  Since this is a
compiler problem, you ought to report it on a more appropriate mailing
list.  I'm not sure which list would be best, but you can always use
LKML.

I make some more research, and I found that my compiler doesn't like
'delta' variable form quirk_usb_disable_ehci(). When I set explictly '100'
to udelay it compile and link without problem. Also when I declare
'delta' as const it fix the problem.

Can you make one of this changes as workaround for older compilers?
They seems totally lost with new more complicated 3.1 udelay() macro
definition.

--
   Konrad Rzepecki
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux