Bruce J.A. Nourish wrote:
> ISA PnP seems to be working as a module in 2.3.39, in so far as is loads
> ok:
>
> Jan 14 16:17:28 marvin kernel: isapnp: Scanning for Pnp cards...
> Jan 14 16:17:28 marvin kernel: isapnp: Card 'OPL3-SA3 Sound'
> Jan 14 16:17:28 marvin kernel: isapnp: 1 Plug & Play card detected total
>
> But when i try to configure my card for use, using /proc/isapnp, cat
> segfaults and I get an oops. This is the related part of my rc.modules:
>
> # Sound conf
> cat >> /proc/isapnp <<EOF
> card 0 YMH0800
> dev 0 YMH0021
[snip]
> EOF
>
> This is the oops, passed thru ksymoops:
> Oops: 0000
> CPU: 0
> EIP: 0010:[<c480ca7a>]
> EFLAGS: 00010246
> eax: 00000000 ebx: a8652100 ecx: c1173008 edx: c114bea0
[snip]
> >>EIP; c480ca7a <[isa-pnp]isapnp_find_dev+6e/cc> <=====
> Trace; c480f6c5 <[isa-pnp]isapnp_set_device+51/cc>
> Trace; c481093c <[isa-pnp]isapnp_info_write+a6c/217c>
[snip]
> Code; c480ca7a <[isa-pnp]isapnp_find_dev+6e/cc> <=====
> 0: 39 50 10 cmpl %edx,0x10(%eax) <=====
> Code; c480ca7d <[isa-pnp]isapnp_find_dev+71/cc>
> 3: 74 19 je 1e <_EIP+0x1e> c480ca98 <[isa-pnp]isapnp_find_dev+8c/cc>
This bug was introduced in 2.3.37, when the ISAPnP driver moved to
list_head structures. The included patch should fix it. isapnp_find_dev()
is called from isapnp_set_device() with from == NULL.
The second chunk of the patch is subject to a disagreement
between me and Martin Mares. I think it should be in for completeness, and
so that uninitialised data structures aren't left lying around. Martin
thinks it shouldn't be in since dev->children has no meaning for ISAPnP
cards. You pays your money and takes your choice. Leave it in or out as
you see fit, it won't bite anyone (yet ;-)).
-- Peter Denison <peterd@pnd-pc.demon.co.uk> Linux Driver for Promise DC4030VL cards. See http://www.pnd-pc.demon.co.uk/promise/promise.html for details
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Jan 15 2000 - 21:00:25 EST