Index: pegasus.c
===================================================================
RCS file: /home/routefree/depot/rf/src/hr/linux/drivers/usb/pegasus.c,v
retrieving revision 1.2
retrieving revision 1.6
diff -r1.2 -r1.6
54,55c54,55
< #define	PEGASUS_USE_INTR
< #define	PEGASUS_WRITE_EEPROM
---
> #undef PEGASUS_USE_INTR
> #undef PEGASUS_WRITE_EEPROM
126a127
> 	unsigned char *buffer;
128a130,136
> 	buffer = kmalloc(L1_CACHE_ALIGN(size),GFP_KERNEL);
> 	if (!buffer) {
>                 err("unable to allocate memory for configuration descriptors");
>                 return 0;
>         }
> 	memcpy(buffer,data,size);
> 	
143c151
< 			  data, size, ctrl_callback, pegasus );
---
> 			  buffer, L1_CACHE_ALIGN(size), ctrl_callback, pegasus );
156a165,166
> 	memcpy(data,buffer,size);
> 	kfree(buffer);
163a174
>         unsigned char *buffer;
165a177,183
>         buffer = kmalloc(size,GFP_KERNEL);
>         if (!buffer) {
>                 err("unable to allocate memory for configuration descriptors");
>                 return 0;
>         }
>         memcpy(buffer,data,size);
> 
180c198
< 			  data, size, ctrl_callback, pegasus );
---
> 			  buffer, size, ctrl_callback, pegasus );
187a206
> 		kfree(buffer);
193a213
> 	kfree(buffer);
200a221
>         unsigned char *buffer;
203a225,231
>         buffer = kmalloc(1,GFP_KERNEL);
>         if (!buffer) {
>                 err("unable to allocate memory for configuration descriptors");
>                 return 0;
>         }
>         memcpy(buffer,&data,1);
> 
218c246
< 			  &data, 1, ctrl_callback, pegasus );
---
> 			  buffer, 1, ctrl_callback, pegasus );
225a254
> 		kfree(buffer);
231a261
> 	kfree(buffer);
Index: usb.c
===================================================================
RCS file: /home/routefree/depot/rf/src/hr/linux/drivers/usb/usb.c,v
retrieving revision 1.2
retrieving revision 1.5
diff -r1.2 -r1.5
1772c1772
< 				     sizeof(dev->descriptor));
---
> 				     L1_CACHE_ALIGN(sizeof(dev->descriptor)));
1789a1790
> 	unsigned char *buffer;
1792a1794,1799
> 	buffer = kmalloc(L1_CACHE_ALIGN(1), GFP_KERNEL);
> 	if (!buffer) {
> 		err("unable to allocate memory for configuration descriptors");
> 		return -ENOMEM;
> 	}
> 
1795c1802,1803
< 	    0, ifnum, &type, 1, HZ * GET_TIMEOUT)) < 0)
---
> 	    0, ifnum, buffer, L1_CACHE_ALIGN(1), HZ * GET_TIMEOUT)) < 0) {
> 		kfree(buffer);
1796a1805,1808
> 	}
> 
> 	type = *buffer;
> 	kfree(buffer);
1851a1864
> 	unsigned char *buffer;
1865a1879,1884
> 	buffer = kmalloc(L1_CACHE_ALIGN(sizeof(status)), GFP_KERNEL);
>         if (!buffer) {
>                 err("unable to allocate memory for configuration descriptors");
>                 return -ENOMEM;
>         }
> 
1868c1887,1891
< 		&status, sizeof(status), HZ * SET_TIMEOUT);
---
> 		buffer, L1_CACHE_ALIGN(sizeof(status)), HZ * SET_TIMEOUT);
> 
> 	memcpy(&status,buffer,sizeof(status));
> 	kfree(buffer);
> 
1953c1976
< 	unsigned char buffer[8];
---
> 	unsigned char *buffer;
1955,1956c1978
< 	struct usb_config_descriptor *desc =
< 		(struct usb_config_descriptor *)buffer;
---
>  	struct usb_config_descriptor *desc;
1984a2007,2013
> 	buffer = kmalloc(L1_CACHE_ALIGN(8), GFP_KERNEL);
> 	if (!buffer) {
> 		err("unable to allocate memory for configuration descriptors");
>                 return -ENOMEM;
> 	}
> 	desc = (struct usb_config_descriptor *)buffer;
> 
1988c2017
< 		result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, buffer, 8);
---
> 		result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, buffer, L1_CACHE_ALIGN(8));
2002c2031
< 		bigbuffer = kmalloc(length, GFP_KERNEL);
---
> 		bigbuffer = kmalloc(L1_CACHE_ALIGN(length), GFP_KERNEL);
2010c2039
< 		result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, bigbuffer, length);
---
> 		result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, bigbuffer, L1_CACHE_ALIGN(length));
2034a2064
> 	kfree(buffer);
2036a2067
> 	kfree(buffer);
2131c2162
< 	err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, &dev->descriptor, 8);
---
> 	err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, &dev->descriptor, L1_CACHE_ALIGN(8));
Index: hub.c
===================================================================
RCS file: /home/routefree/depot/rf/src/hr/linux/drivers/usb/hub.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -r1.2 -r1.3
128a129
>         unsigned char *buffer;
194c195,204
< 	ret = usb_get_hub_status(dev, &hubstatus);
---
>         buffer = kmalloc(sizeof(struct usb_hub_status),GFP_KERNEL);
> 	if (!buffer) {
>                 err("unable to allocate memory for configuration descriptors");
>                 kfree(hub->descriptor);
>                 return -1;
>         }
>         memcpy(buffer,&hubstatus,sizeof(struct usb_hub_status));
> 	ret = usb_get_hub_status(dev,buffer);
>         memcpy(&hubstatus,buffer,sizeof(struct usb_hub_status));
>         kfree(buffer);
446a457
>         unsigned char *buffer;
453c464,474
< 		ret = usb_get_port_status(hub, port + 1, &portsts);
---
>                 buffer = kmalloc(sizeof(struct usb_hub_status),GFP_KERNEL);
>                 if (buffer) {
>                     memcpy(buffer,&portsts,sizeof(struct usb_hub_status));
>                     ret = usb_get_port_status(hub, port + 1, buffer);
>                     memcpy(&portsts,buffer,sizeof(struct usb_hub_status));
>                     kfree(buffer);
>                 } else {
>                     err("unable to allocate memory for configuration descriptors");
>                     ret = -1;
>                 }
> 
643a665,666
>         unsigned char *buffer;
>         int temp_ret;
687c710,720
< 			ret = usb_get_port_status(dev, i + 1, &portsts);
---
>                         buffer = kmalloc(sizeof(struct usb_hub_status),GFP_KERNEL);
>                         if (buffer) {
>                             memcpy(buffer,&portsts,sizeof(struct usb_hub_status));
>                             ret = usb_get_port_status(dev, i + 1, buffer);
>                             memcpy(&portsts,buffer,sizeof(struct usb_hub_status));
>                             kfree(buffer);
>                         } else {
>                             err("unable to allocate memory for configuration descriptors");
>                             ret = -1;
>                         }
> 
733a767,777
>                 buffer = kmalloc(sizeof(struct usb_hub_status),GFP_KERNEL);
>                 if (buffer) {
>                     memcpy(buffer,&hubsts,sizeof(struct usb_hub_status));
>                     temp_ret = usb_get_hub_status(dev, buffer);
>                     memcpy(&hubsts,buffer,sizeof(struct usb_hub_status));
>                     kfree(buffer);
>                 } else {
>                     err("unable to allocate memory for configuration descriptors");
>                     temp_ret = -1;
>                 }
> 
735c779
< 		if (usb_get_hub_status(dev, &hubsts) < 0)
---
> 		if (temp_ret < 0)
Index: usb-ohci.h
===================================================================
RCS file: /home/routefree/depot/rf/src/hr/linux/drivers/usb/usb-ohci.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -r1.2 -r1.3
60c60
< } __attribute((aligned(16)));
---
> } __attribute((aligned(L1_CACHE_BYTES)));
118c118
< } __attribute((aligned(16)));
---
> } __attribute((aligned(L1_CACHE_BYTES)));
561c561
< 		16 /* byte alignment */,
---
> 		L1_CACHE_BYTES /* byte alignment */,
568c568
< 		16 /* byte alignment */,
---
> 		L1_CACHE_BYTES /* byte alignment */,
