{
struct usbnet *dev = usb_get_intfdata(intf);
u16 *medium;
- printk("----> %s %d\n",__FUNCTION__,__LINE__);
-
- dev->asix_suspend = 1;
- wait_event_interruptible_timeout(dev->intr_wait, dev->intr_complete == 1, HZ); // wait for intr_complete, then got to otg suspend
+#if 0
medium = kmalloc (2, GFP_ATOMIC);
if (!medium)
return axusbnet_suspend (intf, message);
(*medium & ~AX88772_MEDIUM_RX_ENABLE), 0, 0, NULL);
kfree (medium);
+#endif
+
return axusbnet_suspend (intf, message);
}
u16 *tmp16;
u8 *opt;
+#if 0
tmp16 = kmalloc (2, GFP_ATOMIC);
if (!tmp16)
return axusbnet_suspend (intf, message);
}
kfree (tmp16);
+#endif
+
return axusbnet_suspend (intf, message);
}
{
struct usbnet *dev = usb_get_intfdata(intf);
- netif_carrier_off (dev->net);
+ //netif_carrier_off (dev->net);
return axusbnet_resume (intf);
}
int ret;
void *buf;
+#if 0
buf = kmalloc (6, GFP_KERNEL);
/* Initialize MII structure */
*/
kfree (buf);
netif_carrier_off (dev->net);
+#endif
+
return axusbnet_resume (intf);
err_out:
if (netif_msg_rx_err (dev))
devdbg (dev, "no read resubmitted");
}
-extern void dwc_otg_clear_halt(struct urb *_urb);
+
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static void intr_complete (struct urb *urb, struct pt_regs *regs)
#else
{
struct usbnet *dev = urb->context;
int status = urb->status;
- //devdbg(dev, "status %d running? %d\n", status,netif_running (dev->net));
-
- dev->intr_complete = 1;
- wake_up_interruptible(&dev->intr_wait);
switch (status) {
/* success */
case -ESHUTDOWN: /* hardware gone */
if (netif_msg_ifdown (dev))
devdbg (dev, "intr shutdown, code %d", status);
- dwc_otg_clear_halt(urb);
- break;
-
- // return;
+ return;
/* NOTE: not throttling like RX/TX, since this endpoint
* already polls infrequently
*/
default:
devdbg (dev, "intr status %d", status);
- if(status < 0)
- dwc_otg_clear_halt(urb);
break;
}
- if (!netif_running (dev->net) || dev->asix_suspend) {
- dev->asix_suspend = 0;
- devdbg (dev, "netif_running is false");
+ if (!netif_running (dev->net))
return;
- }
- dev->intr_complete = 0;
memset(urb->transfer_buffer, 0, urb->transfer_buffer_length);
status = usb_submit_urb (urb, GFP_ATOMIC);
if (status != 0 && netif_msg_timer (dev))
if (status != -ESHUTDOWN)
netif_wake_queue (dev->net);
}
-
- //dwc_otg_clear_halt(urb);
}
if (test_bit (EVENT_RX_HALT, &dev->flags)) {
printk ("EVENT_RX_HALT\n");
*/
dev->hard_mtu = net->mtu + net->hard_header_len;
- dev->asix_suspend = 0;
- dev->intr_complete = 1;
- init_waitqueue_head(&dev->intr_wait);
-
#if 0
// dma_supported() is deeply broken on almost all architectures
// possible with some EHCI controllers