Re: PATCH: fix multiple eMagic 6|2m regressions introduced in 2.6.27

From: Clemens Ladisch
Date: Tue Nov 24 2009 - 04:28:21 EST


Monty Montgomery wrote:
> The eMagic driver code cleanup from 2.6.26->2.6.27 introduces three
> new bugs that prevent the emi62 usb audio device from working. 2.6.31
> continues to be identically broken. Note that this is the 6|2, not the
> 2|6; the 2|6 works properly. The 6|2 does not function at all and will
> oops the kernel when plugged in.

This has been discussed in this thread:
http://lists.linuxaudio.org/pipermail/linux-audio-user/2009-November/064931.html

> Bug 1: a mirror of the loop termination bug that was fixed in the 2|6
> driver last January, causing a similar oops as the 2|6 did in 2.6.27.

My patch for this has already been picked up by akpm.

> Bug 2: the firmware load loop that is supposed to load the firmware
> section that sits in the device's RAM mistakenly uses
> ANCHOR_LOAD_EXTERNAL instead of ANCHOR_LOAD_INTERNAL, a bug from
> copy/pasting out of the preceeding loop. This is clearly a regression
> from the 2.6.26 source which uses the proper target.
>
> Bug 3: Fixing the first two problems prevents the oops and allows the
> USB stack to successfully allocate an endpoint without crashing the
> eMagic. However, the eMagic crashes and lights its red INTERNAL ERROR
> led later as it tries to start up. This problem can be traced to the
> linux/firmware/emi62/bistream.HEX file, which is loading different
> FPGA firmware as compared to the driver pre-2.6.27.
> [...]
> Due to the size of the patch (the replacement firmware file is 250kB),
> I've not attached it but rather stashed it at:
>
> http://web.mit.edu/xiphmont/Public/emi/emi62.patch

I don't have much time; David, please handle this.


Clemens
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/