/*
* Version Information
*/
-#define DRIVER_VERSION "v0.4.22 (2001/12/07)"
+#define DRIVER_VERSION "v0.4.23 (2002/02/01)"
#define DRIVER_AUTHOR "Petko Manolov <pmanolov@lnxw.com>"
#define DRIVER_DESC "Pegasus/Pegasus II USB Ethernet driver"
case -ENOENT:
break;
default:
- warn( __FUNCTION__ " status %d", urb->status);
+ warn("%s: status %d", __FUNCTION__, urb->status);
}
pegasus->flags &= ~ETH_REGS_CHANGED;
wake_up(&pegasus->ctrl_wait );
set_current_state( TASK_UNINTERRUPTIBLE );
if ( (ret = usb_submit_urb( pegasus->ctrl_urb )) ) {
- err( __FUNCTION__ " BAD CTRLs %d", ret);
+ err("%s: BAD CTRLs %d", __FUNCTION__, ret);
goto out;
}
set_current_state( TASK_UNINTERRUPTIBLE );
if ( (ret = usb_submit_urb( pegasus->ctrl_urb )) ) {
- err( __FUNCTION__ " BAD CTRL %d", ret);
+ err("%s: BAD CTRL %d", __FUNCTION__, ret);
goto out;
}
set_current_state( TASK_UNINTERRUPTIBLE );
if ( (ret = usb_submit_urb( pegasus->ctrl_urb )) ) {
- err( __FUNCTION__ " BAD CTRL %d", ret);
+ err("%s: BAD CTRL %d", __FUNCTION__, ret);
goto out;
}
pegasus->eth_regs, 3, ctrl_callback, pegasus );
if ( (ret = usb_submit_urb( pegasus->ctrl_urb )) )
- err( __FUNCTION__ " BAD CTRL %d, flags %x",ret,pegasus->flags );
+ err("%s: BAD CTRL %d, flgs %x",__FUNCTION__,ret,pegasus->flags);
return ret;
}
*regd = le16_to_cpu(regdi);
return 0;
}
- warn( __FUNCTION__ " failed" );
+ warn("%s: failed", __FUNCTION__);
return 1;
}
}
if ( i < REG_TIMEOUT )
return 0;
- warn( __FUNCTION__ " failed" );
+ warn("%s: failed", __FUNCTION__);
return 1;
}
*retdata = le16_to_cpu (retdatai);
return 0;
}
- warn( __FUNCTION__ " failed" );
+ warn("%s: failed", __FUNCTION__);
return -1;
}
disable_eprom_write( pegasus );
if ( i < REG_TIMEOUT )
return 0;
- warn( __FUNCTION__ " failed" );
+ warn("%s: failed", __FUNCTION__);
return -1;
}
#endif /* PEGASUS_WRITE_EEPROM */
pegasus->rx_buff, PEGASUS_MAX_MTU,
read_bulk_callback, pegasus );
if ( (res = usb_submit_urb(pegasus->rx_urb)) )
- warn( __FUNCTION__ " failed submint rx_urb %d", res);
+ warn("%s: failed submint rx_urb %d", __FUNCTION__, res);
pegasus->flags &= ~PEGASUS_RX_BUSY;
}
pegasus->rx_buff, PEGASUS_MAX_MTU,
read_bulk_callback, pegasus );
if ( (res = usb_submit_urb(pegasus->rx_urb)) )
- warn( __FUNCTION__ " failed rx_urb %d", res );
+ warn("%s: failed rx_urb %d", __FUNCTION__, res);
#ifdef PEGASUS_USE_INTR
FILL_INT_URB( pegasus->intr_urb, pegasus->usb,
usb_rcvintpipe(pegasus->usb, 3),
pegasus->intr_buff, sizeof(pegasus->intr_buff),
intr_callback, pegasus, pegasus->intr_interval );
if ( (res = usb_submit_urb(pegasus->intr_urb)) )
- warn( __FUNCTION__ " failed intr_urb %d", res);
+ warn("%s: failed intr_urb %d", __FUNCTION__, res);
#endif
netif_start_queue( net );
pegasus->flags |= PEGASUS_RUNNING;
net = init_etherdev( NULL, 0 );
if ( !net ) {
+ usb_free_urb (pegasus->tx_urb);
+ usb_free_urb (pegasus->rx_urb);
+ usb_free_urb (pegasus->ctrl_urb);
kfree( pegasus );
return NULL;
}
if ( reset_mac(pegasus) ) {
err("can't reset MAC");
unregister_netdev( pegasus->net );
+ usb_free_urb (pegasus->tx_urb);
+ usb_free_urb (pegasus->rx_urb);
+ usb_free_urb (pegasus->ctrl_urb);
kfree(pegasus->net);
kfree(pegasus);
pegasus = NULL;
pegasus->flags |= PEGASUS_UNPLUG;
unregister_netdev( pegasus->net );
usb_dec_dev_use( dev );
- usb_free_urb (pegasus->intr_urb);
- usb_free_urb (pegasus->tx_urb);
- usb_free_urb (pegasus->rx_urb);
- usb_free_urb (pegasus->ctrl_urb);
+ usb_unlink_urb(pegasus->intr_urb);
+ usb_unlink_urb(pegasus->tx_urb);
+ usb_unlink_urb(pegasus->rx_urb);
+ usb_unlink_urb(pegasus->ctrl_urb);
+ usb_free_urb(pegasus->intr_urb);
+ usb_free_urb(pegasus->tx_urb);
+ usb_free_urb(pegasus->rx_urb);
+ usb_free_urb(pegasus->ctrl_urb);
kfree( pegasus->net );
kfree( pegasus );
pegasus = NULL;