ChangeSet 1.1119.1.6, 2003/08/06 15:51:17-07:00, [EMAIL PROTECTED]
[PATCH] USB: DMA coherency issue with rtl8150
DMA to a part of a structure is forbidden on the noncoherent architectures.
drivers/usb/net/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 Fri Aug 8 17:05:50 2003
+++ b/drivers/usb/net/rtl8150.c Fri Aug 8 17:05:51 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 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