On Sun, 2012-11-04 at 18:47 -0500, Daniel Kahn Gillmor wrote:
> Package: src:linux
> Version: 3.6.4-1~experimental.1
> Severity: important
>
> This machine works fine booting the wheezy kernel (3.2.0-4-powerpc
> 3.2.32-1) via grub 2.00-7.
>
> However, when I tried booting this machine to the 3.6 kernel in
> experimental, via grub 2.00-7, the machine hung on boot and displayed
> the Oops and backtrace shown in the attached image (apologies for the
> low resolution of my webcam).
>
> The error message appearsf to be:
>
> "Unable to handle kernel paging request for data at address 0x0000000c"
>
> And the backtrace looks like it might be within the snd-powermac
> kernel module.
>
> let me know if i can get you more info.
[...]
So we have:
| [info] Loading kernel module snd-powermac.
| [ 17.51 237] i2c i2c-7: i2c-powermac: modalias failure on /wmi- 0f000000/i2c0f0001000/ 01c0
This is logged by i2c_powermac_get_type(). It didn't recognise the
OpenFirmware information for some I2C device, and so was not able to
request loading of the proper driver. I don't know whether this is
relevant to the bug.
| [ 17.7 2150] i2c i2c-4: Failed to register i2c client request at 0x35 (-16)
This is logged from i2c_new_device(). Error code 16 is EBUSY.
| [ 17.73 ] unable to handle kernel paging request for data at address 0x0000000c
tumbler_init() and snd_pmac_probe() have some fairly obvious bugs in
error handling; probably one of them is responsible for this. But
fixing those won't get your sound working again.
If you want to investigate this yourself, have a look at:
commit 3a3dd0186f619b74e61e6f29dddcaf59af7d3cac
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Mon Jun 18 12:00:50 2012 +1000
i2c/powermac: Improve detection of devices from device-tree
commit 81e5d8646ff6bf323dddcf172aa3cef84468fa12
Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: Wed Apr 18 22:16:42 2012 +0000
i2c/powermac: Register i2c devices from device-tree
It will probably be necessary to add another case to cover your system.
Otherwise, I think upstream will need some information from the OF
device tree (we probably ought to gather that automatically in bug
reports...) Maybe something like:
find /proc/device-tree -path '*i2c*'
would be a useful start.
Ben.
--
Ben Hutchings
The program is absolutely right; therefore, the computer must be wrong.
Attachment:
signature.asc
Description: This is a digitally signed message part