Package: unicorn-source
Version: 0.9.2-1

Hello,

I was using kernel 2.6.10 with version 0.9.0 using module unicorn_usb_eth.ko.
Then I upgraded kernel to 2.6.15 and tried version 0.9.2 of unicorn
source. Didn't compile but I was able to fix it (I guess is ok and
patch is in the end of email).
Internet connection looked ok but when I tried to upload files (tested
sending patch-2.6.15.bz2 file to a remote machine using ssh) it failed
and I got the following error message in log:

    Feb 10 00:18:07 localhost kernel: IntInComplete: ATM Operation
Error interrupt
    Feb 10 00:18:08 localhost kernel: HandleAtmError: Reset ATM FIFO

I never tried module unicorn_usb_atm.ko because I don't know how to
make work instead of unicorn_usb_eth and I don't think
unicorn_pci_*.ko works with USB modem.
Can I get any help on this?

Thanks in advance for the help,

Bruno Pires Marinho

--------------

--- unicorn-2.6.12/unicorn_atm/unicorn_atmdrv.c 2005-07-15
14:40:09.000000000 +0100
+++ unicorn-2.6.15/unicorn_atm/unicorn_atmdrv.c 2006-02-08
23:24:34.000000000 +0000
@@ -54,6 +54,7 @@
        struct atm_dev *atm_dev;
        struct sk_buff_head rt_tx_q;  // Real-Time transmit queue - CBR,VBR
        struct sk_buff_head tx_q;     // "Normal" transmit queue - UBR
+       struct sk_buff_head *current_tx_q;     // current q
        ADSL_STATUS adsl_status;
        unsigned long downstream_rate;
        unsigned long upstream_rate;
@@ -343,8 +344,10 @@
        struct sk_buff *skb;

        skb = skb_peek(&drv->rt_tx_q);
+       drv->current_tx_q = &drv->rt_tx_q;
        if (!skb) {
                skb = skb_peek(&drv->tx_q);
+               drv->current_tx_q = &drv->tx_q;
        }
        return skb;
 }
@@ -505,7 +508,7 @@

                if (finished) {
                        // Finished with this buffer
-                       skb_unlink(skb);
+                       skb_unlink(skb, drv->current_tx_q);
                        tx_free_skb(skb);
                        // Get next buffer
                        skb = peek_tx_skb(drv);
--- unicorn-2.6.12/unicorn_eth/unicorn_ethdrv.c 2005-07-15
14:40:09.000000000 +0100
+++ unicorn-2.6.15/unicorn_eth/unicorn_ethdrv.c 2006-02-08
23:25:21.000000000 +0000
@@ -487,7 +487,7 @@

                if (finished) {
                        // Finished with this buffer
-                       skb_unlink(skb);
+                       skb_unlink(skb, &drv->tx_q);
                        dev_kfree_skb_any(skb);
                        // Get next buffer
                        skb = peek_tx_skb(drv);

Reply via email to