Hi,

DMA to a part of a structure is forbidden on the noncoherent architectures.

        Regards
                Oliver

You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


[EMAIL PROTECTED], 2003-08-06 00:46:09+02:00, [EMAIL PROTECTED]
  - fix DMA coherency issue


 rtl8150.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)


diff -Nru a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c
--- a/drivers/usb/net/rtl8150.c Wed Aug  6 00:46:43 2003
+++ b/drivers/usb/net/rtl8150.c Wed Aug  6 00:46:43 2003
@@ -51,6 +51,7 @@
 #define        PHY_GO                  0x40
 
 #define        MII_TIMEOUT             10
+#define        INTBUFSIZE              8
 
 #define        RTL8150_REQT_READ       0xc0
 #define        RTL8150_REQT_WRITE      0x40
@@ -98,7 +99,7 @@
        struct usb_ctrlrequest dr;
        int intr_interval;
        u16 rx_creg;
-       u8 intr_buff[8];
+       u8 *intr_buff;
        u8 phy;
 };
 
@@ -646,7 +647,7 @@
        if ((res = usb_submit_urb(dev->rx_urb, GFP_KERNEL)))
                warn("%s: rx_urb submit failed: %d", __FUNCTION__, res);
        usb_fill_int_urb(dev->intr_urb, dev->udev, usb_rcvintpipe(dev->udev, 3),
-                    dev->intr_buff, sizeof(dev->intr_buff), intr_callback,
+                    dev->intr_buff, INTBUFSIZE, intr_callback,
                     dev, dev->intr_interval);
        if ((res = usb_submit_urb(dev->intr_urb, GFP_KERNEL)))
                warn("%s: intr_urb submit failed: %d", __FUNCTION__, res);
@@ -790,8 +791,15 @@
        } else
                memset(dev, 0, sizeof(rtl8150_t));
 
+       dev->intr_buff = kmalloc(INTBUFSIZE, GFP_KERNEL);
+       if (!dev->intr_buff) {
+               kfree(dev);
+               return -ENOMEM;
+       }
+
        netdev = alloc_etherdev(0);
        if (!netdev) {
+               kfree(dev->intr_buff);
                kfree(dev);
                err("Oh boy, out of memory again?!?");
                return -ENOMEM;
@@ -843,6 +851,7 @@
 out1:
        free_all_urbs(dev);
 out:
+       kfree(dev->intr_buff);
        kfree(netdev);
        kfree(dev);
        return -EIO;
@@ -862,6 +871,7 @@
                if (dev->rx_skb)
                        dev_kfree_skb(dev->rx_skb);
                kfree(dev->netdev);
+               kfree(dev->intr_buff);
                kfree(dev);
        }
 }

===================================================================


This BitKeeper patch contains the following changesets:
1.2154
## Wrapped with gzip_uu ##


begin 664 bkpatch22575
M'XL(`-,S,#\``ZU474_;,[EMAIL PROTECTED])[EMAIL PROTECTED]
MJ[8)<A(VM.R_STFG0C6*]H$3Q5<^]QZ?7!]Y"VX+I4,KGT\?E$9;\"DORM`R
M\:)*5.9DJII5"[EMAIL PROTECTED]'=9X-YHI0JW*F*;.AR9G&[EMAIL PROTECTED]@M
MXGBKE?+Q7H76J']Z>WXT0JC;A>-)E(W5M2JAVT7Q[#"IU-R9Z3R:--O5*[BF
M&!-"*,<>%X37U/<\5A.!X\2$">T$:2P"M!1T^(+R=2H/^YA3ZA'NU8)1RE`/
MB$,)9X`]%_LN%H!QR$2(@UU,0XQA,[EMAIL PROTECTED];`AG7Z#WL41R'RB
MM,KD(TR+HE+H#`3GF*'A4]N0_9<#(1QA=`!CK<:'2Z$R7]2);OZN/417EW.?
M<.S(1C3%S#R$4>[7A'<[EMAIL PROTECTED]<[\ZPR8P*+&7`C:
M&F)C26.0-Q/]&M,+0CO4)SX-,*L;G:0U"Q._647\B54HV/0-O9+DV?O2?%O#
ME#E$<!_I$O+41$6I*UD:V[3=O0);?VU?XX+AYD;[EMAIL PROTECTED]&W`."MA*53C-E#2YO
M/MZ>7`\^]RW+1SV"B0$'R\FJ?/@PS4I]%U=INH]Z@@4-NIPL"YJ1J`?[8)6T
M!T^$>[EMAIL PROTECTED],YVT.#3D!!(&N]!+HP6YB<7&X_KST]&=Z=]4>7_?.=?61-
[EMAIL PROTECTED](#?6FV9:W>5>YSEGTT
B\!EO\(VP>+5\=6'*B9*SHEIT110HG^([EMAIL PROTECTED]@@<-AK`4`````
`
end



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to