Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Apr 1999 19:54:15 +0200
From:      Gary Jennejohn <garyj@peedub.muc.de>
To:        freebsd-isdn@FreeBSD.ORG
Subject:   Re: new-bus changes break i4b 
Message-ID:  <199904181754.TAA03401@peedub.muc.de>
In-Reply-To: Your message of "Sun, 18 Apr 1999 14:37:48 %2B0200." <Pine.BSF.4.05.9904181428530.783-100000@gold.amis.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
Blaz Zupan writes:
>> > kernel config file because my sound card needs it. The patch below is
>> > based on changes between /sys/i386/isa/sio.c and /sys/isa/sio.c and it
>> > could be completely wrong...
>>
>> it's working for me, thanks!
>
>Great.
>
>> isicprobe: Error: new unit (0) != next_isic_unit (1)!
>> 
>> (the last message comes from i4b_isic_isa.c. 
>> didn't investigate further...)
>
>Looking at the code, it only seems to be some kind of sanity check. Every
>time a new card is probed, the counter (next_isic_unit) is incremented by
>1 and then a check with the newly allocated unit number is done and if it
>does not correspond, the above error is printed, that's it. I'm not sure,
>but it looks like this code can be safely removed. Hellmuth?
>
>Actually, a simmilar thing is being done in i4b_isic_pci.c, but not for
>all cards. Take a look at this code:
>
>#ifdef ELSA_QS1PCI
>                case PCI_QS1000_ID:
>                        ret = isic_attach_Eqs1pp(unit, iobase1, iobase2);
>                        break;
>#endif
>#ifdef AVM_A1_PCI
>                case PCI_AVMA1_ID:
>                        ret = isic_attach_avma1pp(unit, iobase1, iobase2);
>                        if (ret)
>                                next_isic_unit++;
>                        return(ret);
>#endif
>
>So next_isic_unit is being incremented only for the AVM A1 and not the
>Elsa QuickStep 1000. Other than the warning message nothing bad happens if
>next_isic_unit is not incremented.
>

Wrong. Something bad will happen if you have more than 1 card in the system.
Also, if you look at the code you'll notice that the probe/attach code is
not executed if there's a mismatch. Not exactly desirable. I'm surprised
that it works for Stefan.

next_isic_unit is actually incremented in 3 places. The AVM_A1_PCI code
shown above has to increment it before the return because the rest of the
code (where next_isic_unit gets incremented) can not be executed.

It seems to be an error that next_isic_unit is NOT incremented in
layer1/i4b_isic_pnp.c.

---
Gary Jennejohn
Home - garyj@muc.de
Work - garyj@fkr.dec.com




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isdn" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904181754.TAA03401>