ChangeSet 1.992, 2003/02/04 11:54:27+11:00, [EMAIL PROTECTED]
[PATCH] USB speedtouch: tweak speedtouch status logic
speedtouch: change data_started to firmware_loaded, which is what it actually
means, plus some minor related changes.
diff -Nru a/drivers/usb/misc/speedtouch.c b/drivers/usb/misc/speedtouch.c
--- a/drivers/usb/misc/speedtouch.c Tue Feb 4 15:16:11 2003
+++ b/drivers/usb/misc/speedtouch.c Tue Feb 4 15:16:11 2003
@@ -144,7 +144,7 @@
struct usb_device *usb_dev;
struct sk_buff_head sndqueue;
struct udsl_usb_send_data_context send_ctx [UDSL_NUMBER_SND_URBS];
- int data_started;
+ int firmware_loaded;
/* atm device part */
struct atm_dev *atm_dev;
@@ -556,7 +556,7 @@
dev_data->atmsar_vcc->mtu = UDSL_MAX_AAL5_MRU;
- if (instance->data_started)
+ if (instance->firmware_loaded)
udsl_fire_receivers (instance);
PDEBUG ("udsl_atm_open successfull\n");
@@ -677,7 +677,7 @@
PDEBUG ("udsl_usb_send_data entered, sending packet %p with length %d\n", skb,
skb->len);
- if (!instance->data_started)
+ if (!instance->firmware_loaded)
return -EAGAIN;
PACKETDEBUG (skb->data, skb->len);
@@ -731,12 +731,12 @@
return err;
}
-static int udsl_usb_data_init (struct udsl_instance_data *instance)
+static void udsl_usb_data_init (struct udsl_instance_data *instance)
{
int i, succes;
- if (instance->data_started)
- return 1;
+ if (instance->firmware_loaded)
+ return;
/* set alternate setting 1 on interface 1 */
usb_set_interface (instance->usb_dev, 1, 2);
@@ -759,21 +759,11 @@
PDEBUG ("udsl_usb_data_init %d urb%s queued for send\n", succes, (succes != 1)
? "s" : "");
- instance->data_started = 1;
- instance->atm_dev->signal = ATM_PHY_SIG_FOUND;
+ wmb ();
- return 0;
-}
+ instance->firmware_loaded = 1;
-static int udsl_usb_data_exit (struct udsl_instance_data *instance)
-{
- if (!instance->data_started)
- return 0;
-
- instance->data_started = 0;
- instance->atm_dev->signal = ATM_PHY_SIG_LOST;
-
- return 0;
+ return;
}
@@ -791,10 +781,13 @@
down(&udsl_usb_ioctl_lock);
switch (code) {
case UDSL_IOCTL_START:
- retval = udsl_usb_data_init (instance);
+ instance->atm_dev->signal = ATM_PHY_SIG_FOUND;
+ udsl_usb_data_init (instance);
+ retval = 0;
break;
case UDSL_IOCTL_STOP:
- retval = udsl_usb_data_exit (instance);
+ instance->atm_dev->signal = ATM_PHY_SIG_LOST;
+ retval = 0;
break;
default:
retval = -ENOTTY;
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel