"Cyrille Chepelov (home)" wrote:
>
> > Which is not right if course, the problem might be no response to the
> > NAKs.
>
> I *finally* got it running !
>
> In kpegasusd, I simply do a pegasus_set_register(pegasus->usb,0x01,0x48)
> whenever needed. I schedule that unlock when either the interrupt pipe
> tells me (txst0 & 0x18) or the netdev watchdog isn't happy (I think the
> latter case can safely be removed). (did that in kpegasusd, because I
> couldn't issue pegasus_set_register() in the intr routine or in a
> neighbour tasklet).
>
> Here's a wrong patch against your .9 version, in raw form (without
> cleanup), so that you could tell me whether you can reproduce it.
>
> > > However, unlike what the manual says, those eight bytes and the counter in
> > > particular are *not* reset upon EP3 access.
> > That's one of the reasons i don't use interrupt pipe for now. It behaves
> > weird!
>
> Nope, it works (or seems to) just as advertised, but you need to enable
> the auto-reset feature. Register 1, bit 0.
>
> Well, kpegasusd is obviously a wrong approach. Isn't there another way,
> similar to tasklets, to schedule a less-urgent task to be executed *out*
> of interrupt context ? Given USB's semantics, I've got the feeling that
> this could be a really useful facility.
Hm, I'll try it (later this day).
Thank you for your efforts. I definitely don't like daemon solution
so i'll try to change the driver do it by itself (using your results ;-)
best,
Petkan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]