public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] 2.4.23 drivers/isdn/hisax/w6692.c
@ 2003-12-23 11:53 Giacomo Di Ciocco
  0 siblings, 0 replies; only message in thread
From: Giacomo Di Ciocco @ 2003-12-23 11:53 UTC (permalink / raw)
  To: petr.novak; +Cc: isdn4linux

Hi all,
i'am having a problem with this isdn card, sometimes, when the 
connection is working hard i get the message "W6692 IRQ LOOP"
and the isdn system gets blocked, i have to reboot the box to get it to 
work again (statically compiled driver).
I take a look to the driver's source and i found the reset procedure 
used in this case is a lot different from the procedure used in the function
resetW6692 so, without too much knowledge of kernel programming nor C, 
i've copied the code from the resetW6692 function to this point and i 
got it working.

00:0a.0 Network controller: Dynalink IS64PH ISDN Adapter
        Subsystem: Winbond Electronics Corp: Unknown device 6692
        Flags: medium devsel, IRQ 11
        Memory at ffbce000 (32-bit, non-prefetchable) [size=4K]
        I/O ports at f800 [size=256]


562,565c562,582
<       if (!icnt) {
<               printk(KERN_WARNING "W6692 IRQ LOOP\n");
<               cs->writeW6692(cs, W_IMASK, 0xff);
<       }
---
 >         if (!icnt) {
 >               printk(KERN_WARNING "W6692 IRQ LOOP\n");
 >               cs->writeW6692(cs, W_D_CTL, W_D_CTL_SRST);
 >               cs->writeW6692(cs, W_D_CTL, 0x00);
 >               cs->writeW6692(cs, W_IMASK, 0xff);
 >               cs->writeW6692(cs, W_D_SAM, 0xff);
 >               cs->writeW6692(cs, W_D_TAM, 0xff);
 >               cs->writeW6692(cs, W_D_EXIM, 0x00);
 >               cs->writeW6692(cs, W_D_MODE, W_D_MODE_RACT);
 >               cs->writeW6692(cs, W_IMASK, 0x18);
 >               if (cs->subtyp == W6692_USR) {
 >                       /* seems that USR implemented some power 
control features
 >                         * Pin 79 is connected to the oscilator 
circuit so we
 >                        * have to handle it here
 >                        */
 >                       cs->writeW6692(cs, W_PCTL, 0x80);
 >                       cs->writeW6692(cs, W_XDATA, 0x00);
 >               }
 >
 >               }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-12-23 11:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-23 11:53 [PATCH] 2.4.23 drivers/isdn/hisax/w6692.c Giacomo Di Ciocco

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox