diff -urN AX88772B_772A_760_772_178_LINUX2.6.35_Driver_v3.5.0_Source_orig/asix.c AX88772B_772A_760_772_178_LINUX2.6.35_Driver_v3.5.0_Source/asix.c
--- AX88772B_772A_760_772_178_LINUX2.6.35_Driver_v3.5.0_Source_orig/asix.c	2010-09-15 17:49:20.000000000 +0900
+++ AX88772B_772A_760_772_178_LINUX2.6.35_Driver_v3.5.0_Source/asix.c	2010-11-12 18:50:15.143111004 +0900
@@ -159,6 +159,10 @@
 			netif_carrier_off(dev->net);
 		axwarn(dev, "ax8817x - Link Status is: %d", link);
 	}
+	if (!netif_running(dev->net)) {
+		memset(urb->transfer_buffer, 0, urb->transfer_buffer_length);
+		usb_submit_urb(urb, GFP_ATOMIC);
+	}
 }
 
 static void ax8817x_status(struct usbnet *dev, struct urb *urb)
@@ -865,6 +869,7 @@
 		ADVERTISE_ALL | ADVERTISE_CSMA | ADVERTISE_PAUSE_CAP);
 	mii_nway_restart(&dev->mii);
 
+	kfree(buf);
 	printk (version);
 
 	return 0;
@@ -1701,6 +1706,7 @@
 		goto err_out;
 	}
 
+	kfree (buf);
 	printk (version);
 	return ret;
 err_out:
@@ -2539,6 +2545,7 @@
 		goto error_out;
 	}
 
+	kfree (buf);
 	printk (version);
 	return ret;
 
@@ -3287,6 +3294,18 @@
 	USB_DEVICE (0x14ea, 0xab11),
 	.driver_info =	(unsigned long) &ax88178_info,
 }, {
+	// Buffalo LUA-U2-GT 10/100/1000
+	USB_DEVICE (0x0411, 0x006e),
+	.driver_info =  (unsigned long) &ax88178_info,
+}, {
+	// IO-DATA ETG-US2
+	USB_DEVICE (0x04bb, 0x0930),
+	.driver_info =  (unsigned long) &ax88178_info,
+}, {
+	// Logitec LAN-GTJ/U2A
+	USB_DEVICE (0x0789, 0x0160),
+	.driver_info =  (unsigned long) &ax88178_info,
+}, {
 	// Belkin
 	USB_DEVICE (0x050d, 0x5055),
 	.driver_info =	(unsigned long) &belkin178_info,
