Re: [linux-usb-devel] [PATCH] iuu_phoenix - new release v0.4 - call for review/comments

2007-08-13 Thread Alan Cox
 +static int iuu_alloc_buf(struct iuu_private *priv)
 +{
 + priv-buf = kzalloc(256, GFP_KERNEL);
 + priv-dbgbuf = kzalloc(256, GFP_KERNEL);
 + priv-writebuf = kzalloc(256, GFP_KERNEL);
 + if (!priv-buf || !priv-dbgbuf || !priv-writebuf) {
 + dbg(%s problem allocation buffer, __FUNCTION__);
 + return -ENOMEM;
 + }
 + return 0;
 +}
 


Given they have the same lifetime what is wrong with simply putting them
in struct iuu_private as arrays ?


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] iuu_phoenix - new release v0.4 - call for review/comments

2007-08-13 Thread Alan Cox
 +static int
 +iuu_ioctl(struct usb_serial_port *port, struct file *file, unsigned int cmd,
 +   unsigned long arg)
 +{
 +

This is very wrong. Your driver may not intercept TCGETS and similar
ioctls. In fact you don't seem to need any of it. Terminal changes are
handled by the set_termios callback you provide. I'd just delete the
ioctl method for now (note a lot of other usb serial drivers get it wrong
and I'm busy cleaning them all up)

 + if (tty  urb-actual_length  data != NULL ) {
 + tty_buffer_request_room(tty, urb-actual_length + 1);
 + for (i = 0; i  urb-actual_length; ++i)
 + tty_insert_flip_char(tty, data[i], TTY_NORMAL);

We've got tty_insert_flip_string for this case which is a bit simpler.
You can just do

if (tty) {
tty_insert_flip_string(tty, data, urb-actual_length);
tty_flip_buffer_push(tty);
}

 +static int
 +iuu_uart_baud(struct usb_serial_port *port, u_int32_t baud, u_int32_t 
 *actual,
 +   u_int8_t parity)

u32 not u_int32_t by preference (or in fact we have speed_t for speeds)


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] iuu_phoenix - new release v0.4 - call for review/comments

2007-08-13 Thread Alan Cox
On Mon, 13 Aug 2007 15:48:40 +0200
Oliver Neukum [EMAIL PROTECTED] wrote:

 Am Montag 13 August 2007 schrieb Alan Cox:
   +static int iuu_alloc_buf(struct iuu_private *priv)
   +{
   + priv-buf = kzalloc(256, GFP_KERNEL);
   + priv-dbgbuf = kzalloc(256, GFP_KERNEL);
   + priv-writebuf = kzalloc(256, GFP_KERNEL);
   + if (!priv-buf || !priv-dbgbuf || !priv-writebuf) {
   + dbg(%s problem allocation buffer, __FUNCTION__);
   + return -ENOMEM;
   + }
   + return 0;
   +}
   
  
  
  Given they have the same lifetime what is wrong with simply putting them
  in struct iuu_private as arrays ?
 
 Alignment issue for the architectures which don't have cache consistent DMA.

Is using __cacheline_aligned not sufficient for that ?

Alan

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Support for the Evolution Scorpion robots

2007-08-08 Thread Alan Cox
 I'm sorry if I don't provide everything you usually require, but as I
 said, I'm not really a kernel guy :-)

New ids look fine. NAK the speed hack however. The kernel now has
arbitary speed support so this is the wrong way to approach it.


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Support for the Evolution Scorpion robots

2007-08-08 Thread Alan Cox
 Okay. Like I said, I'm not really a kernel guy, and atm I really don't
 feel like being one :-)

N/P - the extra identifiers are fine.

 I could probably figure out how to do the speed hack in the right way,
 but it would require a lot of work for me (I've never even seen any of
 the kernel code before). Could I persuade somebody on this list to
 implement the speed setting correct? I know I'm asking busy people to
 do my work, but I'm not really the best man for the job.

With a current kernel you shouldn't need one you can simply do

struct termios2 t2;
ioctl(ttyfd, TCGETS2, t2);
t2.c_cflags = ~CBAUD;
t2.c_cflags |= BOTHER;
t2.c_ospeed = 25;
ioctl(ttyfd, TCSETS2, t2)

and at some point once its all synced up for the various platforms glibc
will handle the newer termios transparently as it already has
ispeed/ospeed information in the version it presents user applications.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Support for the Evolution Scorpion robots

2007-08-08 Thread Alan Cox
 I'm sorry about all the noise, but what you just said made no sense to
 me at all (I told you I wasn't a kernel guy ;-) ). If I understand
 correctly all that is needed is the device ID's for the robots to be
 supported? So no need to implement the speed hack in the kernel at
 all?

For the latest kernels correct

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] kl5kusb105: Switch to new speed API

2007-07-26 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/kl5kusb105.c 
linux-2.6.23rc1-mm1/drivers/usb/serial/kl5kusb105.c
--- linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/kl5kusb105.c 2007-07-26 
15:01:52.0 +0100
+++ linux-2.6.23rc1-mm1/drivers/usb/serial/kl5kusb105.c 2007-07-26 
15:31:04.0 +0100
@@ -728,24 +728,24 @@
 #endif
}

-   switch(cflag  CBAUD) {
-   case B0: /* handled below */
+   switch(tty_get_baud_rate(port-tty)) {
+   case 0: /* handled below */
break;
-   case B1200: priv-cfg.baudrate = kl5kusb105a_sio_b1200;
+   case 1200: priv-cfg.baudrate = kl5kusb105a_sio_b1200;
break;
-   case B2400: priv-cfg.baudrate = kl5kusb105a_sio_b2400;
+   case 2400: priv-cfg.baudrate = kl5kusb105a_sio_b2400;
break;
-   case B4800: priv-cfg.baudrate = kl5kusb105a_sio_b4800;
+   case 4800: priv-cfg.baudrate = kl5kusb105a_sio_b4800;
break;
-   case B9600: priv-cfg.baudrate = kl5kusb105a_sio_b9600;
+   case 9600: priv-cfg.baudrate = kl5kusb105a_sio_b9600;
break;
-   case B19200: priv-cfg.baudrate = kl5kusb105a_sio_b19200;
+   case 19200: priv-cfg.baudrate = kl5kusb105a_sio_b19200;
break;
-   case B38400: priv-cfg.baudrate = kl5kusb105a_sio_b38400;
+   case 38400: priv-cfg.baudrate = kl5kusb105a_sio_b38400;
break;
-   case B57600: priv-cfg.baudrate = kl5kusb105a_sio_b57600;
+   case 57600: priv-cfg.baudrate = kl5kusb105a_sio_b57600;
break;
-   case B115200: priv-cfg.baudrate = kl5kusb105a_sio_b115200;
+   case 115200: priv-cfg.baudrate = kl5kusb105a_sio_b115200;
break;
default:
err(KLSI USB-Serial converter:

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] cp2101: Remove broken termios optimisation, use proper speed API

2007-07-26 Thread Alan Cox
I've also enabled the commented out support for 7200, 14400, 55854,
127117 and 3686400 baud as you can now set such rates in the kernel.

Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/cp2101.c 
linux-2.6.23rc1-mm1/drivers/usb/serial/cp2101.c
--- linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/cp2101.c 2007-07-26 
15:01:51.0 +0100
+++ linux-2.6.23rc1-mm1/drivers/usb/serial/cp2101.c 2007-07-26 
15:30:20.0 +0100
@@ -356,7 +356,7 @@
 
dbg(%s - port %d, __FUNCTION__, port-number);
 
-   if ((!port-tty) || (!port-tty-termios)) {
+   if (!port-tty || !port-tty-termios) {
dbg(%s - no tty structures, __FUNCTION__);
return;
}
@@ -526,50 +526,35 @@
return;
}
cflag = port-tty-termios-c_cflag;
-
-   /* Check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(port-tty-termios-c_iflag)
-   == RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   return;
-   }
-
-   old_cflag = old_termios-c_cflag;
-   }
-
+   old_cflag = old_termios-c_cflag;
+   baud = tty_get_baud_rate(port-tty);
+   
/* If the baud rate is to be updated*/
-   if ((cflag  CBAUD) != (old_cflag  CBAUD)) {
-   switch (cflag  CBAUD) {
-   /*
-* The baud rates which are commented out below
-* appear to be supported by the device
-* but are non-standard
-*/
-   case B0:baud = 0;   break;
-   case B600:  baud = 600; break;
-   case B1200: baud = 1200;break;
-   case B1800: baud = 1800;break;
-   case B2400: baud = 2400;break;
-   case B4800: baud = 4800;break;
-   /*case B7200:   baud = 7200;break;*/
-   case B9600: baud = 9600;break;
-   /*ase B14400:   baud = 14400;   break;*/
-   case B19200:baud = 19200;   break;
-   /*case B28800:  baud = 28800;   break;*/
-   case B38400:baud = 38400;   break;
-   /*case B55854:  baud = 55054;   break;*/
-   case B57600:baud = 57600;   break;
-   case B115200:   baud = 115200;  break;
-   /*case B127117: baud = 127117;  break;*/
-   case B230400:   baud = 230400;  break;
-   case B460800:   baud = 460800;  break;
-   case B921600:   baud = 921600;  break;
-   /*case B3686400:baud = 3686400; break;*/
+   if (baud != tty_termios_baud_rate(old_termios)) {
+   switch (baud) {
+   case 0:
+   case 600:
+   case 1200:
+   case 1800:
+   case 2400:
+   case 4800:
+   case 7200:
+   case 9600:
+   case 14400:
+   case 19200:
+   case 28800:
+   case 38400:
+   case 55854:
+   case 57600:
+   case 115200:
+   case 127117:
+   case 230400:
+   case 460800:
+   case 921600:
+   case 3686400:
+   break;
default:
-   dev_err(port-dev, cp2101 driver does not 
-   support the baudrate requested\n);
+   baud = 9600;
break;
}
 

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] mct_u232: Convert to proper speed handling API

2007-07-26 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.c 
linux-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.c
--- linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.c   2007-07-26 
15:01:52.0 +0100
+++ linux-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.c   2007-07-26 
15:31:17.0 +0100
@@ -184,21 +184,21 @@
  * we do not know how to support. We ignore them for the moment.
  * XXX Rate-limit the error message, it's user triggerable.
  */
-static int mct_u232_calculate_baud_rate(struct usb_serial *serial, int value)
+static int mct_u232_calculate_baud_rate(struct usb_serial *serial, speed_t 
value)
 {
if (le16_to_cpu(serial-dev-descriptor.idProduct) == 
MCT_U232_SITECOM_PID
  || le16_to_cpu(serial-dev-descriptor.idProduct) == 
MCT_U232_BELKIN_F5U109_PID) {
switch (value) {
-   caseB300: return 0x01;
-   caseB600: return 0x02; /* this one not tested */
-   case   B1200: return 0x03;
-   case   B2400: return 0x04;
-   case   B4800: return 0x06;
-   case   B9600: return 0x08;
-   case  B19200: return 0x09;
-   case  B38400: return 0x0a;
-   case  B57600: return 0x0b;
-   case B115200: return 0x0c;
+   case300: return 0x01;
+   case600: return 0x02; /* this one not tested */
+   case   1200: return 0x03;
+   case   2400: return 0x04;
+   case   4800: return 0x06;
+   case   9600: return 0x08;
+   case  19200: return 0x09;
+   case  38400: return 0x0a;
+   case  57600: return 0x0b;
+   case 115200: return 0x0c;
default:
err(MCT USB-RS232: unsupported baudrate request 0x%x,
 using default of B9600, value);
@@ -206,27 +206,27 @@
}
} else {
switch (value) {
-   caseB300: value = 300; break;
-   caseB600: value = 600; break;
-   case   B1200: value =1200; break;
-   case   B2400: value =2400; break;
-   case   B4800: value =4800; break;
-   case   B9600: value =9600; break;
-   case  B19200: value =   19200; break;
-   case  B38400: value =   38400; break;
-   case  B57600: value =   57600; break;
-   case B115200: value =  115200; break;
-   default:
-   err(MCT USB-RS232: unsupported baudrate request 0x%x,
-using default of B9600, value);
-   value = 9600;
+   case 300: break;
+   case 600: break;
+   case 1200: break;
+   case 2400: break;
+   case 4800: break;
+   case 9600: break;
+   case 19200: break;
+   case 38400: break;
+   case 57600: break;
+   case 115200: break;
+   default:
+   err(MCT USB-RS232: unsupported baudrate 
request 0x%x,
+using default of B9600, value);
+   value = 9600;
}
return 115200/value;
}
 }
 
 static int mct_u232_set_baud_rate(struct usb_serial *serial, struct 
usb_serial_port *port,
- int value)
+ speed_t value)
 {
__le32 divisor;
 int rc;
@@ -634,7 +634,7 @@
mct_u232_set_modem_ctrl(serial, control_state);
}
 
-   mct_u232_set_baud_rate(serial, port, cflag  CBAUD);
+   mct_u232_set_baud_rate(serial, port, tty_get_baud_rate(port-tty));
 
if ((cflag  CBAUD) == B0 ) {
dbg(%s: baud is B0, __FUNCTION__);
diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.h 
linux-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.h
--- linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.h   2007-07-26 
15:01:52.0 +0100
+++ linux-2.6.23rc1-mm1/drivers/usb/serial/mct_u232.h   2007-07-26 
15:31:24.0 +0100
@@ -79,7 +79,7 @@
  * and Intel solution. They are the regular MCT and Sitecom for us.
  * This is pointless to document in the header, see the code for the bits.
  */
-static int mct_u232_calculate_baud_rate(struct usb_serial *serial, int value);
+static int mct_u232_calculate_baud_rate(struct usb_serial *serial, speed_t 
value);
 
 /*
  * Line Control Register (LCR)

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through

[linux-usb-devel] [PATCH] digi_acceleport: Drag the driver kicking and screaming into coding style

2007-07-26 Thread Alan Cox
- The outbreak of acute bracketitus has been cured
- The belief that brackets should have spaces everywhere likewise
- Various other coding style tweaks
- Use baud rates not Bfoo in the speed setup switch

Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/digi_acceleport.c 
linux-2.6.23rc1-mm1/drivers/usb/serial/digi_acceleport.c
--- linux.vanilla-2.6.23rc1-mm1/drivers/usb/serial/digi_acceleport.c
2007-07-26 15:01:52.0 +0100
+++ linux-2.6.23rc1-mm1/drivers/usb/serial/digi_acceleport.c2007-07-26 
15:30:36.0 +0100
@@ -433,38 +433,38 @@
 
 /* Local Function Declarations */
 
-static void digi_wakeup_write( struct usb_serial_port *port );
+static void digi_wakeup_write(struct usb_serial_port *port);
 static void digi_wakeup_write_lock(struct work_struct *work);
-static int digi_write_oob_command( struct usb_serial_port *port,
-   unsigned char *buf, int count, int interruptible );
-static int digi_write_inb_command( struct usb_serial_port *port,
-   unsigned char *buf, int count, unsigned long timeout );
-static int digi_set_modem_signals( struct usb_serial_port *port,
-   unsigned int modem_signals, int interruptible );
-static int digi_transmit_idle( struct usb_serial_port *port,
-   unsigned long timeout );
+static int digi_write_oob_command(struct usb_serial_port *port,
+   unsigned char *buf, int count, int interruptible);
+static int digi_write_inb_command(struct usb_serial_port *port,
+   unsigned char *buf, int count, unsigned long timeout);
+static int digi_set_modem_signals(struct usb_serial_port *port,
+   unsigned int modem_signals, int interruptible);
+static int digi_transmit_idle(struct usb_serial_port *port,
+   unsigned long timeout);
 static void digi_rx_throttle (struct usb_serial_port *port);
 static void digi_rx_unthrottle (struct usb_serial_port *port);
-static void digi_set_termios( struct usb_serial_port *port, 
-   struct ktermios *old_termios );
-static void digi_break_ctl( struct usb_serial_port *port, int break_state );
-static int digi_ioctl( struct usb_serial_port *port, struct file *file,
-   unsigned int cmd, unsigned long arg );
-static int digi_tiocmget( struct usb_serial_port *port, struct file *file );
-static int digi_tiocmset( struct usb_serial_port *port, struct file *file,
-   unsigned int set, unsigned int clear );
-static int digi_write( struct usb_serial_port *port, const unsigned char *buf, 
int count );
-static void digi_write_bulk_callback( struct urb *urb );
-static int digi_write_room( struct usb_serial_port *port );
-static int digi_chars_in_buffer( struct usb_serial_port *port );
-static int digi_open( struct usb_serial_port *port, struct file *filp );
-static void digi_close( struct usb_serial_port *port, struct file *filp );
-static int digi_startup_device( struct usb_serial *serial );
-static int digi_startup( struct usb_serial *serial );
-static void digi_shutdown( struct usb_serial *serial );
-static void digi_read_bulk_callback( struct urb *urb );
-static int digi_read_inb_callback( struct urb *urb );
-static int digi_read_oob_callback( struct urb *urb );
+static void digi_set_termios(struct usb_serial_port *port, 
+   struct ktermios *old_termios);
+static void digi_break_ctl(struct usb_serial_port *port, int break_state);
+static int digi_ioctl(struct usb_serial_port *port, struct file *file,
+   unsigned int cmd, unsigned long arg);
+static int digi_tiocmget(struct usb_serial_port *port, struct file *file);
+static int digi_tiocmset(struct usb_serial_port *port, struct file *file,
+   unsigned int set, unsigned int clear);
+static int digi_write(struct usb_serial_port *port, const unsigned char *buf, 
int count);
+static void digi_write_bulk_callback(struct urb *urb);
+static int digi_write_room(struct usb_serial_port *port);
+static int digi_chars_in_buffer(struct usb_serial_port *port);
+static int digi_open(struct usb_serial_port *port, struct file *filp);
+static void digi_close(struct usb_serial_port *port, struct file *filp);
+static int digi_startup_device(struct usb_serial *serial);
+static int digi_startup(struct usb_serial *serial);
+static void digi_shutdown(struct usb_serial *serial);
+static void digi_read_bulk_callback(struct urb *urb);
+static int digi_read_inb_callback(struct urb *urb);
+static int digi_read_oob_callback(struct urb *urb);
 
 
 /* Statics */
@@ -576,9 +576,9 @@
 *  with the equivalent code.
 */
 
-static inline long cond_wait_interruptible_timeout_irqrestore(
+static long cond_wait_interruptible_timeout_irqrestore(
wait_queue_head_t *q, long timeout,
-   spinlock_t *lock, unsigned long flags )
+   spinlock_t *lock, unsigned long flags)
 {
DEFINE_WAIT(wait);
 
@@ -600,18 +600,16 @@
 
 static void digi_wakeup_write_lock(struct work_struct *work)
 {
-   struct digi_port *priv =
-   container_of(work

Re: [linux-usb-devel] [PATCH] [IrDA] KS959 USB IrDA dongle support

2007-07-23 Thread Alan Cox
 Too late, Linus just closed the merge window, you had two
 weeks to submit this :-)
 Too bad...
 I submitted it as soon as it was ready. Will we have to wait until the
 2.6.24 merge window, or can it be applied earlier as it's a fully
 standalone driver ?

You can always send Linus a copy and ask but if its just finished then
far better to send it to Andrew so that it can get testing and picked at
in -mm then merged next time around when polished.

Alan

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] mos7840.c: Turn this into a serial driver

2007-07-03 Thread Alan Cox
The MOS driver is interesting, in a bad kind of 'how the hell did this
get merged' kind of way

- Remove the bogus termios change check
- Remove the duplicate code for half the ioctls
- Remove the supporting code to duplicate the ioctl code

Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/mos7840.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/mos7840.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/mos7840.c   2007-07-02 
20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/mos7840.c   2007-07-02 
21:25:13.0 +0100
@@ -2189,16 +2189,6 @@
return;
}
 
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(tty-termios-c_iflag) ==
-RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s\n, Nothing to change);
-   return;
-   }
-   }
-
dbg(%s - clfag %08x iflag %08x, __FUNCTION__,
tty-termios-c_cflag, RELEVANT_IFLAG(tty-termios-c_iflag));
 
@@ -2258,30 +2248,6 @@
 }
 
 /*
- * mos7840_get_bytes_avail - get number of bytes available
- *
- * Purpose: Let user call ioctl to get the count of number of bytes available.
- */
-
-static int mos7840_get_bytes_avail(struct moschip_port *mos7840_port,
-  unsigned int __user *value)
-{
-   unsigned int result = 0;
-   struct tty_struct *tty = mos7840_port-port-tty;
-
-   if (!tty)
-   return -ENOIOCTLCMD;
-
-   result = tty-read_cnt;
-
-   dbg(%s(%d) = %d, __FUNCTION__, mos7840_port-port-number, result);
-   if (copy_to_user(value, result, sizeof(int)))
-   return -EFAULT;
-
-   return -ENOIOCTLCMD;
-}
-
-/*
  * mos7840_set_modem_info
  *  function to set modem info
  */
@@ -2429,8 +2395,6 @@
struct async_icount cprev;
struct serial_icounter_struct icount;
int mosret = 0;
-   int retval;
-   struct tty_ldisc *ld;
 
if (mos7840_port_paranoia_check(port, __FUNCTION__)) {
dbg(%s, Invalid port \n);
@@ -2449,42 +2413,6 @@
switch (cmd) {
/* return number of bytes available */
 
-   case TIOCINQ:
-   dbg(%s (%d) TIOCINQ, __FUNCTION__, port-number);
-   return mos7840_get_bytes_avail(mos7840_port, argp);
-
-   case TIOCOUTQ:
-   dbg(%s (%d) TIOCOUTQ, __FUNCTION__, port-number);
-   return put_user(tty-driver-chars_in_buffer ?
-   tty-driver-chars_in_buffer(tty) : 0,
-   (int __user *)arg);
-
-   case TCFLSH:
-   retval = tty_check_change(tty);
-   if (retval)
-   return retval;
-
-   ld = tty_ldisc_ref(tty);
-   switch (arg) {
-   case TCIFLUSH:
-   if (ld  ld-flush_buffer)
-   ld-flush_buffer(tty);
-   break;
-   case TCIOFLUSH:
-   if (ld  ld-flush_buffer)
-   ld-flush_buffer(tty);
-   /* fall through */
-   case TCOFLUSH:
-   if (tty-driver-flush_buffer)
-   tty-driver-flush_buffer(tty);
-   break;
-   default:
-   tty_ldisc_deref(ld);
-   return -EINVAL;
-   }
-   tty_ldisc_deref(ld);
-   return 0;
-
case TIOCSERGETLSR:
dbg(%s (%d) TIOCSERGETLSR, __FUNCTION__, port-number);
return mos7840_get_lsr_info(mos7840_port, argp);

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate()

2007-07-03 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/pl2303.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/pl2303.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/pl2303.c2007-07-02 
20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/pl2303.c2007-07-02 
21:25:13.0 +0100
@@ -484,15 +484,6 @@
spin_unlock_irqrestore(priv-lock, flags);
 
cflag = port-tty-termios-c_cflag;
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(port-tty-termios-c_iflag) ==
-RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   return;
-   }
-   }
 
buf = kzalloc(7, GFP_KERNEL);
if (!buf) {
@@ -517,29 +508,7 @@
dbg(%s - data bits = %d, __FUNCTION__, buf[6]);
}
 
-   baud = 0;
-   switch (cflag  CBAUD) {
-   case B0:baud = 0;   break;
-   case B75:   baud = 75;  break;
-   case B150:  baud = 150; break;
-   case B300:  baud = 300; break;
-   case B600:  baud = 600; break;
-   case B1200: baud = 1200;break;
-   case B1800: baud = 1800;break;
-   case B2400: baud = 2400;break;
-   case B4800: baud = 4800;break;
-   case B9600: baud = 9600;break;
-   case B19200:baud = 19200;   break;
-   case B38400:baud = 38400;   break;
-   case B57600:baud = 57600;   break;
-   case B115200:   baud = 115200;  break;
-   case B230400:   baud = 230400;  break;
-   case B460800:   baud = 460800;  break;
-   default:
-   dev_err(port-dev, pl2303 driver does not support
-the baudrate requested (fix it)\n);
-   break;
-   }
+   baud = tty_get_baud_rate(port-tty);;
dbg(%s - baud = %d, __FUNCTION__, baud);
if (baud) {
buf[0] = baud  0xff;

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] visor and whiteheat: remove bogus termios change checks

2007-07-03 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/visor.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/visor.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/visor.c 2007-07-02 
20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/visor.c 2007-07-02 
21:25:13.0 +0100
@@ -948,14 +948,6 @@
}
 
cflag = port-tty-termios-c_cflag;
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(port-tty-termios-c_iflag) == 
RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   return;
-   }
-   }
 
/* get the byte size */
switch (cflag  CSIZE) {
diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/whiteheat.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/whiteheat.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/whiteheat.c 2007-07-02 
20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/whiteheat.c 2007-07-02 
21:25:25.0 +0100
@@ -891,15 +891,6 @@
goto exit;
}

-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((port-tty-termios-c_cflag == old_termios-c_cflag) 
-   (port-tty-termios-c_iflag == old_termios-c_iflag)) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   goto exit;
-   }
-   }
-
firm_setup_port(port);
 
 exit:

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] mos7720: Remove bogus no termios change check

2007-07-03 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/mos7720.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/mos7720.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/mos7720.c   2007-07-02 
20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/mos7720.c   2007-07-02 
21:25:13.0 +0100
@@ -1238,16 +1238,6 @@
return;
}
 
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(tty-termios-c_iflag) ==
-RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(Nothing to change);
-   return;
-   }
-   }
-
dbg(%s - clfag %08x iflag %08x, __FUNCTION__,
tty-termios-c_cflag,
RELEVANT_IFLAG(tty-termios-c_iflag));

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] io_*: Remove bogus termios no change checks

2007-07-03 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/io_edgeport.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/io_edgeport.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/io_edgeport.c   
2007-07-02 20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/io_edgeport.c   2007-07-02 
21:12:36.0 +0100
@@ -1513,15 +1513,6 @@
}
 
cflag = tty-termios-c_cflag;
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if (cflag == old_termios-c_cflag 
-   tty-termios-c_iflag == old_termios-c_iflag) {
-   dbg(%s - nothing to change, __FUNCTION__);
-   return;
-   }
-   }
-
dbg(%s - clfag %08x iflag %08x, __FUNCTION__, 
tty-termios-c_cflag, tty-termios-c_iflag);
if (old_termios) {
diff -u --new-file --exclude-from /usr/src/exclude --recursive 
linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/io_ti.c 
linux-2.6.22-rc6-mm1/drivers/usb/serial/io_ti.c
--- linux.vanilla-2.6.22-rc6-mm1/drivers/usb/serial/io_ti.c 2007-07-02 
20:50:14.0 +0100
+++ linux-2.6.22-rc6-mm1/drivers/usb/serial/io_ti.c 2007-07-02 
21:23:37.0 +0100
@@ -2544,14 +2544,6 @@
}
 
cflag = tty-termios-c_cflag;
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if (cflag == old_termios-c_cflag 
-   tty-termios-c_iflag == old_termios-c_iflag) {
-   dbg (%s - nothing to change, __FUNCTION__);
-   return;
-   }
-   }
 
dbg(%s - clfag %08x iflag %08x, __FUNCTION__, 
tty-termios-c_cflag, tty-termios-c_iflag);

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] RT-friendly IRQ management in USB

2007-07-02 Thread Alan Cox
 The reason for doing this is historical; usb_hcd_giveback_urb() is
 documented as running with local IRQs disabled, and many drivers depend
 on that.  For example, their callback routines invoked by
 usb_hcd_giveback_urb do spin_lock() instead of spin_lock_irqsave().


 
 So what's the best way to do this?  Should we do:
 
   spin_lock_irqsave(some_lock, flags);
   ...
   spin_unlock(some_lock);
   usb_hcd_giveback_urb(hcd, urb);
   local_irq_restore(flags);
 
 or is there a better approach?

Why not just bite the bullet and change the callback convention. The lock
verification code should catch the cases that matter and which are
overlooked on a code scan. You could also change the name of the callback
to be sure it breaks anything out of tree that isn't fixed.

Alan

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] ark3116.c: Mixed fixups

2007-06-22 Thread Alan Cox
o   Don't parse the cflag for baud rates, its not valid to do so
any more and this driver got it wrong anyway
o   Don't do clever termios change checks in drivers and get them
wrong (arguably we should do some smart ones in the tty core but
stty to change nothing is *not* a common or critical path

I don't have the hardware so if you can test this carefully please do. I
thought fixing it up this far was better than marking it and other bits of
USB serial  BROKEN

Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.22-rc4-mm2/drivers/usb/serial/ark3116.c 
linux-2.6.22-rc4-mm2/drivers/usb/serial/ark3116.c
--- linux.vanilla-2.6.22-rc4-mm2/drivers/usb/serial/ark3116.c   2007-06-07 
14:26:00.0 +0100
+++ linux-2.6.22-rc4-mm2/drivers/usb/serial/ark3116.c   2007-06-21 
15:57:02.867440512 +0100
@@ -172,7 +172,7 @@
 
dbg(%s - port %d, __FUNCTION__, port-number);
 
-   if ((!port-tty) || (!port-tty-termios)) {
+   if (!port-tty || !port-tty-termios) {
dbg(%s - no tty structures, __FUNCTION__);
return;
}
@@ -188,16 +188,6 @@
 
cflag = port-tty-termios-c_cflag;
 
-   /* check that they really want us to change something: */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(port-tty-termios-c_iflag) ==
-RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   return;
-   }
-   }
-
buf = kmalloc(1, GFP_KERNEL);
if (!buf) {
dbg(error kmalloc);
@@ -220,7 +210,7 @@
dbg(setting CS7);
break;
default:
-   err(CSIZE was set but not CS5-CS8, using CS8!);
+   dbg(CSIZE was set but not CS5-CS8, using CS8!);
/* fall through */
case CS8:
config |= 0x03;
@@ -251,38 +241,33 @@
}
 
/* set baudrate */
-   baud = 0;
-   switch (cflag  CBAUD) {
-   case B0:
-   err(can't set 0 baud, using 9600 instead);
+   baud = tty_get_baud_rate(port-tty);
+   
+   switch (baud) {
+   case 75:
+   case 150:
+   case 300:
+   case 600:
+   case 1200:
+   case 1800:
+   case 2400:
+   case 4800:
+   case 9600:
+   case 19200:
+   case 38400:
+   case 57600:
+   case 115200:
+   case 230400:
+   case 460800:
break;
-   case B75:   baud = 75;  break;
-   case B150:  baud = 150; break;
-   case B300:  baud = 300; break;
-   case B600:  baud = 600; break;
-   case B1200: baud = 1200;break;
-   case B1800: baud = 1800;break;
-   case B2400: baud = 2400;break;
-   case B4800: baud = 4800;break;
-   case B9600: baud = 9600;break;
-   case B19200:baud = 19200;   break;
-   case B38400:baud = 38400;   break;
-   case B57600:baud = 57600;   break;
-   case B115200:   baud = 115200;  break;
-   case B230400:   baud = 230400;  break;
-   case B460800:   baud = 460800;  break;
+   /* set 9600 as default (if given baudrate is invalid for 
example) */
default:
-   dbg(does not support the baudrate requested (fix it));
-   break;
+   baud = 9600;
}
 
-   /* set 9600 as default (if given baudrate is invalid for example) */
-   if (baud == 0)
-   baud = 9600;
-
/*
 * found by try'n'error, be careful, maybe there are other options
-* for multiplicator etc!
+* for multiplicator etc! (3.5 for example)
 */
if (baud == 460800)
/* strange, for 460800 the formula is wrong




-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] belkin_sa: Various needed fixes

2007-06-22 Thread Alan Cox
Use the baud rate stuff from the kernel don't parse CBAUD directly
Remove pointless and wrong 'no change' check

Could do with some good testing as well but again better than adding 
BROKEN

(The use of BELKIN_SA_BAUD() might seem a bit odd but x/a = b and x/b = a 
(rounded for integers)).



Signed-off-by: Alan Cox [EMAIL PROTECTED]


diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.22-rc4-mm2/drivers/usb/serial/belkin_sa.c 
linux-2.6.22-rc4-mm2/drivers/usb/serial/belkin_sa.c
--- linux.vanilla-2.6.22-rc4-mm2/drivers/usb/serial/belkin_sa.c 2007-06-07 
14:24:28.0 +0100
+++ linux-2.6.22-rc4-mm2/drivers/usb/serial/belkin_sa.c 2007-06-21 
15:16:52.048940632 +0100
@@ -346,6 +346,7 @@
unsigned long flags;
unsigned long control_state;
int bad_flow_control;
+   speed_t baud;

if ((!port-tty) || (!port-tty-termios)) {
dbg (%s - no tty or termios structure, __FUNCTION__);
@@ -361,16 +362,8 @@
bad_flow_control = priv-bad_flow_control;
spin_unlock_irqrestore(priv-lock, flags);

-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(port-tty-termios-c_iflag) == 
RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   return;
-   }
-   old_iflag = old_termios-c_iflag;
-   old_cflag = old_termios-c_cflag;
-   }
+   old_iflag = old_termios-c_iflag;
+   old_cflag = old_termios-c_cflag;
 
/* Set the baud rate */
if( (cflagCBAUD) != (old_cflagCBAUD) ) {
@@ -384,38 +377,30 @@
if (BSA_USB_CMD(BELKIN_SA_SET_RTS_REQUEST, 1)  
0)
err(Set RTS error);
}
-
-   switch(cflag  CBAUD) {
-   case B0: /* handled below */ break;
-   case B300: urb_value = BELKIN_SA_BAUD(300); break;
-   case B600: urb_value = BELKIN_SA_BAUD(600); break;
-   case B1200: urb_value = BELKIN_SA_BAUD(1200); break;
-   case B2400: urb_value = BELKIN_SA_BAUD(2400); break;
-   case B4800: urb_value = BELKIN_SA_BAUD(4800); break;
-   case B9600: urb_value = BELKIN_SA_BAUD(9600); break;
-   case B19200: urb_value = BELKIN_SA_BAUD(19200); break;
-   case B38400: urb_value = BELKIN_SA_BAUD(38400); break;
-   case B57600: urb_value = BELKIN_SA_BAUD(57600); break;
-   case B115200: urb_value = BELKIN_SA_BAUD(115200); break;
-   case B230400: urb_value = BELKIN_SA_BAUD(230400); break;
-   default: err(BELKIN USB Serial Adapter: unsupported 
baudrate request, using default of 9600);
-   urb_value = BELKIN_SA_BAUD(9600); break;
-   }
-   if ((cflag  CBAUD) != B0 ) {
-   if (BSA_USB_CMD(BELKIN_SA_SET_BAUDRATE_REQUEST, 
urb_value)  0)
-   err(Set baudrate error);
-   } else {
-   /* Disable flow control */
-   if (BSA_USB_CMD(BELKIN_SA_SET_FLOW_CTRL_REQUEST, 
BELKIN_SA_FLOW_NONE)  0)
-   err(Disable flowcontrol error);
-
-   /* Drop RTS and DTR */
-   control_state = ~(TIOCM_DTR | TIOCM_RTS);
-   if (BSA_USB_CMD(BELKIN_SA_SET_DTR_REQUEST, 0)  0)
-   err(DTR LOW error);
-   if (BSA_USB_CMD(BELKIN_SA_SET_RTS_REQUEST, 0)  0)
-   err(RTS LOW error);
-   }
+   }
+   
+   baud = tty_get_baud_rate(port-tty);
+   urb_value = BELKIN_SA_BAUD(baud);
+   /* Clip to maximum speed */
+   if (urb_value == 0)
+   urb_value = 1;
+   /* Turn it back into a resulting real baud rate */
+   baud = BELKIN_SA_BAUD(urb_value);
+   /* FIXME: Once the tty updates are done then push this back to the tty 
*/
+   
+   if ((cflag  CBAUD) != B0 ) {
+   if (BSA_USB_CMD(BELKIN_SA_SET_BAUDRATE_REQUEST, urb_value)  0)
+   err(Set baudrate error);
+   } else {
+   /* Disable flow control */
+   if (BSA_USB_CMD(BELKIN_SA_SET_FLOW_CTRL_REQUEST, 
BELKIN_SA_FLOW_NONE)  0)
+   err(Disable flowcontrol error);
+   /* Drop RTS and DTR */
+   control_state = ~(TIOCM_DTR | TIOCM_RTS);
+   if (BSA_USB_CMD(BELKIN_SA_SET_DTR_REQUEST, 0)  0)
+   err(DTR LOW error);
+   if (BSA_USB_CMD(BELKIN_SA_SET_RTS_REQUEST, 0)  0)
+   err(RTS LOW error

[linux-usb-devel] [PATCH] ir_usb: Clean up the worst of it, remove exciting 'crash on open' feature

2007-06-22 Thread Alan Cox
- Drivers don't call ldisc termios methods. They certainly don't call
them the way this one does - remove wrong call
- The tty buffer code isn't designed to be abused from IRQ handlers and
the new buffering removes the need for the uglies involved - fix them
- Style
- Remove incorrect baud and change handling for termios changes

The driver now has some style, but not a lot - it goes insane if you have
two dongles for example as it continues to use global variables for per
dongle state. That bit isn't my problem.

Signed-off-by: Alan Cox [EMAIL PROTECTED]



diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.22-rc4-mm2/drivers/usb/serial/ir-usb.c 
linux-2.6.22-rc4-mm2/drivers/usb/serial/ir-usb.c
--- linux.vanilla-2.6.22-rc4-mm2/drivers/usb/serial/ir-usb.c2007-06-07 
14:24:28.0 +0100
+++ linux-2.6.22-rc4-mm2/drivers/usb/serial/ir-usb.c2007-06-21 
14:03:05.731843112 +0100
@@ -21,6 +21,10 @@
  *
  * See Documentation/usb/usb-serial.txt for more information on using this 
driver
  *
+ * 2007_Jun_21  Alan Cox [EMAIL PROTECTED]
+ * Minimal cleanups for some of the driver problens and tty layer abuse.
+ * Still needs fixing to allow multiple dongles.
+ *
  * 2002_Mar_07 greg kh
  * moved some needed structures and #define values from the
  * net/irda/irda-usb.h file into our file, as we don't want to depend on
@@ -109,6 +113,7 @@
 static void ir_read_bulk_callback (struct urb *urb);
 static void ir_set_termios (struct usb_serial_port *port, struct ktermios 
*old_termios);
 
+/* Not that this lot means you can only have one per system */
 static u8 ir_baud = 0;
 static u8 ir_xbof = 0;
 static u8 ir_add_bof = 0;
@@ -444,22 +449,12 @@
urb-actual_length,
data);
 
-   /*
-* Bypass flip-buffers, and feed the ldisc directly
-* due to our potentially large buffer size.  Since we
-* used to set low_latency, this is exactly what the
-* tty layer did anyway :)
-*/
tty = port-tty;
 
-   /*
-*  FIXME: must not do this in IRQ context
-*/
-   tty-ldisc.receive_buf(
-   tty,
-   data+1,
-   NULL,
-   urb-actual_length-1);
+   if (tty_buffer_request_room(tty, urb-actual_length - 
1)) {
+   tty_insert_flip_string(tty, data+1, 
urb-actual_length - 1);
+   tty_flip_buffer_push(tty);
+   }
 
/*
 * No break here.
@@ -501,8 +496,9 @@
 static void ir_set_termios (struct usb_serial_port *port, struct ktermios 
*old_termios)
 {
unsigned char *transfer_buffer;
-   unsigned int cflag;
int result;
+   speed_t baud;
+   int ir_baud;
 
dbg(%s - port %d, __FUNCTION__, port-number);
 
@@ -511,77 +507,59 @@
return;
}
 
-   cflag = port-tty-termios-c_cflag;
-   /* check that they really want us to change something */
-   if (old_termios) {
-   if ((cflag == old_termios-c_cflag) 
-   (RELEVANT_IFLAG(port-tty-termios-c_iflag) == 
RELEVANT_IFLAG(old_termios-c_iflag))) {
-   dbg(%s - nothing to change..., __FUNCTION__);
-   return;
-   }
+   baud = tty_get_baud_rate(port-tty);
+
+   /* 
+* FIXME, we should compare the baud request against the
+* capability stated in the IR header that we got in the
+* startup function.
+*/
+
+   switch (baud) {
+   case 2400:  ir_baud = SPEED_2400; break;
+   case 9600:  ir_baud = SPEED_9600; break;
+   case 19200: ir_baud = SPEED_19200; break;
+   case 38400: ir_baud = SPEED_38400; break;
+   case 57600: ir_baud = SPEED_57600; break;
+   case 115200:ir_baud = SPEED_115200; break;
+   case 576000:ir_baud = SPEED_576000; break;
+   case 1152000:   ir_baud = SPEED_1152000; break;
+   case 400:   ir_baud = SPEED_400; break;
+   break;
+   default:
+   ir_baud = SPEED_9600;
+   baud = 9600;
+   /* And once the new tty stuff is all done we need to
+  call back to correct the baud bits */
}
 
-   /* All we can change is the baud rate */
-   if (cflag  CBAUD) {
+   if (xbof == -1)
+   ir_xbof = ir_xbof_change(ir_add_bof);
+   else
+   ir_xbof = ir_xbof_change(xbof) ;
 
-   dbg (%s

Re: [linux-usb-devel] [2/3] 2.6.22-rc2: known regressions v2

2007-05-25 Thread Alan Cox
 Disk dumps etc are options at things like wall street. But look at the bug 
 reports, and ask yourself how many of them happen at Wall Street, and how 
 many of them would even be _relevant_ to somebody there? 

There is an additional factor - dumps contain data which variously is -
copyright third parties, protected by privacy laws, just personally
private, security sensitive (eg browser history) and so on.

The only reasons you can get dumps back in the hands of vendors is
because there are strong formal agreements controlling where they go and
what is done with them.

Diskdump (and even more so netdump) are useful in the hands of a
developer crashing their own box just like kgdb, but not in the the
normal and rational end user response of  its broken, hit reset

Alan

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [2/3] 2.6.22-rc2: known regressions v2

2007-05-25 Thread Alan Cox
On Fri, May 25, 2007 at 10:37:14AM -0700, Andrew Morton wrote:
 Often we don't even get that: I was in X and it didn't hit the logs.

Thats mostly solved by fixing the Oops and framebuffer code to co-operate
and is a different problem

Alan


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Please reactivate your Yahoo! Groups email address

2007-05-22 Thread Alan Cox
On Tue, 22 May 2007 15:53:23 -0700
David Brownell [EMAIL PROTECTED] wrote:

 
 Does anyone have a clue about how to get Yahoo to stop spamming
 us all with this stuff?  Their abuse hotline is completely
 nonresponsive.

Short of publically humiliating them or happening to know the right
people (sorry I don't any more) no. You can match yahoo messages in the
mailman rules for stuff not to allow - and if you match the subscribe
pattern as well it stops spammers trying to add your list to their lists
(which is what all this is about)

Alan

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [patch 1/4] Make usb_hcd_irq available for multi-role USB controllers with a shared interrupt line

2007-04-26 Thread Alan Cox
 For ohci-hcd, we used -1. The problem here is, while IRQ 0 is definitely
 not valid for PCI devices (as Alan Cox reminded me a couple of weeks ago),
 USB controllers are found in odd embedded configurations often, so we
 cannot just use 0 as invalid everywhere. I don't know if -1 is good though.
 Seems like it should be. Alan Cox also cautioned against using NO_IRQ,
 because it's not universally defined by all platforms, and in general is
 an invention of old IDE. Looks like -1 is the way to go.

Zero means no IRQ in the kernel. No platform should be reporting an IRQ
number of zero, the platform has to re-map it should there be a physical
IRQ 0 used by drivers.

Alan

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH pd54] Remove Huawei unusual_devs entry

2007-04-18 Thread Alan Cox
 I also agree with Alan Cox that that specific software should be found
 in, as stated, on well known locations, and distributed by vendors.
 It seems that we do have a few people from Huawei that can help us try
 to achieve that. I'll try to CC all of them.

Ok here's a serious suggestion to go forward

Submit a patch for now which makes the Huwaei unusual devs entry
conditional on a config entry so you can select

Support Huawei USB virtual CD-ROM on the Huawei E220  Y/N

This option enables the virtual CD-ROM support for the Huawei E220. In
order to use this option you need the Huawei tools which can be downloaded
from:  [somewhere well known]


and clean the userspace up so that

-   The firmware license is sorted
-   The userspace app includes instructions/basic info in English as
well as Czech(?)
-   The userspace integrates directly with the udev scripts so it is
run automatically if added


Once the userspace is sane and in all the distributions the configuration
option can eventually go away.

Alan

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH pd54] Remove Huawei unusual_devs entry

2007-04-17 Thread Alan Cox
On Sun, 15 Apr 2007 23:42:40 -0700
Phil Dibowitz [EMAIL PROTECTED] wrote:

 Greg,
 
 This patch removes the entry for the Huawei patch at the request of the
 manufacturers and other users. See the patch for the full explanation, CC's,
 and sign-off.
 
 Please apply.

The program pointed to is not remotely production quality, its a random
small piece of source with no English language information not
distributed by vendors. Until there is a good clean tool for this which
is found in well known locations and documented/production standardard
(which is not the same thing as 'working') this change should be deferred

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH]correctly handling failed opens in usb-serial

2007-03-29 Thread Alan Cox
On Thu, 29 Mar 2007 14:29:07 -0700
Greg KH [EMAIL PROTECTED] wrote:

 On Thu, Mar 29, 2007 at 10:15:00AM +0200, Oliver Neukum wrote:
  Hi,
  
  as recently discussed on lkml the tty layer does call close() if
  an open() fails. Usb-serial does not handle this correctly. It does
  handle the first open() failing by checking the open count, but if
  a second open() fails, the close() will free the resources associated
  with the first open.
 
 Why can't we just fix the tty layer instead?

Feel free, it just needs all existing serial drivers to be audited for
dependancies on the old behaviour and corrected. Painful, tedious work
but possibly worth doing

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH 2.6.20 1/1] usb/input updated aiptek tablet driver

2007-03-07 Thread Alan Cox
  + *  Extra bits2004  René van Paassen [EMAIL PROTECTED]
  +#define DRIVER_AUTHOR  Bryan W. Headley/Chris Atenasio/Cédric
  Brun/René van Paassen
 
 Please understand, patches are commonly sent naked in the mail, even
 in this enlightened day of git and MIME. So, even if you send it right,
 eventually someone else will patch your code, diff context will
 catch the name, and...

What is the problem. His name contains an accented character. We have
various other UTF-8 accented symbols in the kernel tree. I don't think
its reasonable to suggest we go around mis-spelling contributors names
(which are after all for the purposes of credit and copyright), just
because a few people can't get with the real world and unicode.

Alan

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Firmware for new ti_usb_3410_5052 devices (resend with subject)

2007-03-03 Thread Alan Cox
 So if you are accepting a firmware into the kernel, watch closely how
 it's being used. Tracking static symbols vs. buffer's content from
 request_firmware() can be harder, i think.

For things like USB the firmware question of security is pretty
irrelevant. If I can feed the device wrong firmware and have the device
attack the kernel then the kernel driver is faulty and needs correcting.

USB is an external removable device so if there is a way to feed a device
messages that cause exploits I can simply build a widget to do it and not
bother at all with attacking the host firmware files

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Firmware for new ti_usb_3410_5052 devices (resend with subject)

2007-03-02 Thread Alan Cox
   Is it ok to include the 5 new firmware images in the ti_usb_3410_5052
   driver as .h files?  Or should I use request_firmware?
 
 As far as i can see: userspace firmware helper is orphan, Greg
 advertise himself for writing new drivers, all is working *somehow*,
 it will be OK to have another few tenth of kibibytes in this driver...

Unless the firmware is GPL with source please use request_firmware(),
otherwise you are getting into unclear areas with regards to licensing.
Although the loader has no full time maintainer that doesn't mean it
doesn't work - quite the reverse, it doesn't seem to be breaking.

Alan

-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-13 Thread Alan Cox
Ar Gwe, 2006-10-13 am 16:02 -0700, ysgrifennodd Open Source:
 clear understanding of what is causing it.  As it stands it doesn't
 seem like even the experts know exactly where this
 delay is being caused.

strace should tell you precisely how long each syscall takes if you ask
it to trace things nicely. If you have code trying to wait for a tiny
time then HZ will bump the wait to be longer (kernel or user) but for
other cases all should be fine either way.

The other issues like priority and paging caused delays can generally be
dealt with by having the relevant service code running mlockall and real
time priority.



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB performance bug since kernel 2.6.13 (CRITICAL???)

2006-10-13 Thread Alan Cox
Ar Gwe, 2006-10-13 am 16:30 -0700, ysgrifennodd Open Source:
 There is an ioctl that is waiting for the URB to be reaped.
 I am almost certain it is this syscall that is taking 4 ms (as
 opposed to 1 ms with CONFIG_HZ=1000).

What does strace say about it ? This is measurable not speculation.

 Will the first piece of code wake up immediately or only after the
 next HZ timeslice?  If it is the latter, which is what I am starting to

It depends if there are other things running and on their priority
relative to you.



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] [PATCH] ohci: Use ref-counting hotplug safe interfaces not legacy ones

2006-09-25 Thread Alan Cox
Signed-off-by: Alan Cox [EMAIL PROTECTED]

diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.vanilla-2.6.18-mm1/drivers/usb/host/ohci-pci.c 
linux-2.6.18-mm1/drivers/usb/host/ohci-pci.c
--- linux.vanilla-2.6.18-mm1/drivers/usb/host/ohci-pci.c2006-09-25 
12:10:17.0 +0100
+++ linux-2.6.18-mm1/drivers/usb/host/ohci-pci.c2006-09-25 
12:26:26.0 +0100
@@ -73,13 +73,14 @@
else if (pdev-vendor == PCI_VENDOR_ID_NS) {
struct pci_dev  *b;
 
-   b  = pci_find_slot (pdev-bus-number,
+   b  = pci_get_slot (pdev-bus,
PCI_DEVFN (PCI_SLOT (pdev-devfn), 1));
if (b  b-device == PCI_DEVICE_ID_NS_87560_LIO
 b-vendor == PCI_VENDOR_ID_NS) {
ohci-flags |= OHCI_QUIRK_SUPERIO;
ohci_dbg (ohci, Using NSC SuperIO setup\n);
}
+   pci_dev_put(b);
}
 
/* Check for Compaq's ZFMicro chipset, which needs short 


-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT  business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] Airprime driver improvements to allow full speed EvDO transfers

2006-07-13 Thread Alan Cox
On Iau, 2006-07-13 at 18:17 +0400, Sergei Organov wrote:
 This problem may occur with any tty driver that doesn't stop to insert
 data into the tty buffers in throttled state. And yes, there are such
 drivers in the tree. Before Paul's changes, the tty just dropped bytes
 that aren't accepted by ldisc, so this problem had no chances to arise.

You must honour throttle. That has always been the case. At all times
you should attempt to homour tty-receive_room and also -throttle. If
you don't it breaks. There will always be some reaction time overruns.

 latter cases drivers that insert too much data without pushing to ldisc
 may cause similar problem. Anyway, you definitely know better what to do
 about it.

Might be a good idea to put a limiter in before 2.6.18 proper just to
trap any other drivers that have that bug. At least printk a warning and
refuse the allocation once there is say 64K queued. That way the driver
author gets a hint all is not well.

Alan



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] Airprime driver improvements to allow full speed EvDO transfers

2006-07-10 Thread Alan Cox
Ar Llu, 2006-07-10 am 14:36 +0400, ysgrifennodd Sergei Organov:
 However, the problem is easily seen for USB-to-tty drivers where there
 are no UARTS anywhere and speeds are rather high so that more than 4096
 bytes (the line discipline buffer size) could be received before a task
 has a chance to read from the line discipline buffer, and single flip
 size is not limited by the hardware.

There are no flip buffers in 2.6.17, they've gone. The tty buffering is
now a proper queuing system.

 Moreover, looking into the source code I don't see how tty can take care
 not to over-stuff the ldisc. ldisc`s receive_buf() routine doesn't tell
 the caller how many chars it actually consumed and silently throws away

Not in the current kernel tree. The current tree does this:

   spin_lock_irqsave(tty-buf.lock, flags);
head = tty-buf.head;
if (head != NULL) {
tty-buf.head = NULL;
for (;;) {
int count = head-commit - head-read;
if (!count) {
if (head-next == NULL)
break;
tbuf = head;
head = head-next;
tty_buffer_free(tty, tbuf);
continue;
}
if (!tty-receive_room) {
schedule_delayed_work(tty-buf.work, 1);
break;
}
if (count  tty-receive_room)
count = tty-receive_room;
char_buf = head-char_buf_ptr + head-read;
flag_buf = head-flag_buf_ptr + head-read;
head-read += count;
spin_unlock_irqrestore(tty-buf.lock, flags);
disc-receive_buf(tty, char_buf, flag_buf, count);
spin_lock_irqsave(tty-buf.lock, flags);
}
tty-buf.head = head;
}
spin_unlock_irqrestore(tty-buf.lock, flags);



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] Airprime driver improvements to allow full speed EvDO transfers

2006-07-10 Thread Alan Cox
Ar Llu, 2006-07-10 am 19:54 +0400, ysgrifennodd Sergei Organov:
 Wow! The code you've quoted seems to be correct! But where did you get
 it from? The version of flush_to_ldisc() from drivers/char/tty_io.c from
 2.17.4 got last Friday from kernel.org does this:

From HEAD so it should make 2.6.18. Paul fixed this one.


Alan


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] Airprime driver improvements to allow full speed EvDO transfers

2006-07-07 Thread Alan Cox
Ar Gwe, 2006-07-07 am 21:23 +0400, ysgrifennodd Sergei Organov:
 It seems that there is much worse problem here. The amount of data that
 has been inserted by the tty_insert_flip_string() could be up to
 URB_TRANSFER_BUFFER_SIZE (=4096 bytes) and may easily exceed
 TTY_THRESHOLD_THROTTLE (=128 bytes) defined in the
 char/n_tty.c. 

You may throttle late but that is always true as there is an implicit
race between the hardware signals and the chip FIFO on all UART devices.
The buffering should be taking care of it, and the tty layer taking care
not to over stuff the ldisc which I thought Paul had fixed while doing
the locking wizardry

Alan




Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] Airprime driver improvements to allow full speed EvDO transfers

2006-06-30 Thread Alan Cox
Ar Gwe, 2006-06-30 am 14:51 +0400, ysgrifennodd Sergei Organov:
 In fact, according to Alan Cox answer, the first call is useless here at
 all, i.e., tty_buffer_request_room() is for subsequent
 tty_insert_flip_char() calls in a loop, not for
 tty_insert_flip_string(). tty_insert_flip_string() calls
 tty_buffer_request_room() itself, and does it in a loop in attempt to
 find as much memory as possible.

Yep. Think of it as a hint that I'm about to stuff xyz bytes into
memory to get best memory efficiency.

 tty_insert_flip_string() returns number of bytes it has actually
 inserted, but I don't believe one can do much if it returns less than
 has been requested as it means that we are out of kernel memory.

Yes. I've been wondering if we should log the failure case somewhere,
either as a tty- object or printk.

Alan


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH] Airprime driver improvements to allow full speed EvDO transfers

2006-06-30 Thread Alan Cox
Ar Gwe, 2006-06-30 am 14:02 +0200, ysgrifennodd Arjan van de Ven:
  Yes. I've been wondering if we should log the failure case somewhere,
  either as a tty- object or printk.
 
 printk gets... interesting if you use serial console ;)
 both locking and buffer space wise

Not particularly. This is on the receive path not the transmit path so
the locking considerations don't arise.

Alan


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB/hal: USB open() broken? (USB CD burner underruns, USB HDD hard resets)

2006-06-21 Thread Alan Cox
Ar Mer, 2006-06-21 am 02:07 +0200, ysgrifennodd Bodo Eggert:
 This does not work, since O_EXCL does not work:
 http://lkml.org/lkml/2006/2/5/137

It works fine. Its an advisory exclusive locking scheme which is
precisely what is needed and precisely how some vendors implement their
solution.

There are good reasons for not having absolute locks, one of which is
that you might want to force a reset or a hot unplug of an interface
knowing you'll lose the CD its burning (eg because your flight is about
to leave)

Alan



___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB/hal: USB open() broken? (USB CD burner underruns, USB HDD hard resets)

2006-06-21 Thread Alan Cox
Ar Mer, 2006-06-21 am 15:02 -0400, ysgrifennodd Alan Stern:
 It's not a USB issue; it's a matter of lack of coordination between the sg 
 and sr drivers.  Each is unaware of the actions of the other, even when 
 they are speaking to the same device.

Thats a relevant issue but sg is irrelevant for cd burning except with
various ancient software setups. Probably sg/sr should share the O_EXCL
locking but its not part of the cd burning stuff for modern setups.

Alan


All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnkkid=107521bid=248729dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB/hal: USB open() broken? (USB CD burner underruns, USB HDD hard resets)

2006-06-21 Thread Alan Cox
Ar Mer, 2006-06-21 am 15:06 -0400, ysgrifennodd Alan Stern:
  cdrecord is -dev=0,0,0 (whatever Linux device file this translates into)
  or a similar device ID as returned by -scanbus.
 
 That goes through the sg driver.

Use a cdrecord that understands SG_IO and dev=/dev/sr0


All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnkkid=107521bid=248729dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB/hal: USB open() broken? (USB CD burner underruns, USB HDD hard resets)

2006-06-20 Thread Alan Cox
Ar Maw, 2006-06-20 am 01:37 -0700, ysgrifennodd Andrew Morton:
 [hald polling causes cdrecord to go bad on a USB CD drive]
 
 One possible reason is that we're shooting down the device's pagecache by
 accident as a result of hald activity. 

On IDE hal causes problems with some drives because the additional
commands sent while the drive is busy end up timing out which triggers a
bus reset and breaks everything. Really HAL should have better manners
than to poll a drive that is busy.

Alan



___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB/hal: USB open() broken? (USB CD burner underruns, USB HDD hard resets)

2006-06-20 Thread Alan Cox
Ar Maw, 2006-06-20 am 11:05 +0200, ysgrifennodd Andreas Mohr:
 But how would HAL safely determine whether a (IDE/USB) drive is busy?
 As my test app demonstrates (without HAL running), the *very first* open()
 happening during an ongoing burning operation will kill it instantly, in the
 USB case.
 Are there any options left for HAL at all? Still seems to strongly point
 towards a kernel issue so far.

In the IDE space O_EXCL has the needed semantics. At least it does on
Fedora and I don't think thats a Fedora patch, not sure if this is the
case for the USB side of things. 

 One (rather less desireable) way I can make up might be to have HAL
 keep the device open permanently and do an ioctl query on whether it's busy
 and then quickly close the device again before the newly started
 burning process gets disrupted (if this even properly works at all).

O_EXCL used by cdrecord is probably the right thing



___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH 8/11] usbserial: pl2303: Ports tty functions.

2006-06-06 Thread Alan Cox
  |  2. The new pl2303's set_termios() can (still) sleep. Serial Core's
  | documentation says that that method must not sleep, but I 
  couldn't find
  | where in the Serial Core code it's called in atomic context. 
  So, is this
  | still true? Isn't the Serial Core's documentation out of date?

For the tty layer at least this was fixed to be semaphore locked and I
think this is now a docs error. It was fixed precisely because the USB
people couldn't resolve termios setup without sleeping.



___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ANNOUNCE: Linux UWB and Wireless USB project

2006-06-05 Thread Alan Cox
Ar Llu, 2006-06-05 am 13:31 -0700, ysgrifennodd Perez-Gonzalez, Inaky:
 For what I know (and I could be wrong) max is around -40dBm/MHz 
 in the US. I am no expert in the nitty-gritty radio details, but 
 I've been told that is 3000 times less emissions than a common 
 cellphone, around .1 uW? [this is where my knowledge about radio
 *really* fades].

Life is never that simple. The total emissions of UWB are pretty low but
their spread across the wide frequency range makes them incredibly low
on any frequency - so very unlikely to interfere.

The total emissions across the set of frequencies as a sum (with
emphasis on some frequency ranges such as 2.4-2.5GHz) apparently matters
much more than the emissions at one frequency for things like human
exposure.

Alan



___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: [usb-storage] Re: [v4l-dvb-maintainer] 2.6.16-rc: saa7134 + u sb-storage = freeze

2006-05-17 Thread Alan Cox
On Thu, Mar 16, 2006 at 12:49:18AM +0100, Adrian Bunk wrote:
  A lot of this is BIOS dependant and if we can isolate cases where one
  BIOS works and another doesn't an lspci -vvxxx would be helpful so we
  can look for chipset pokery
 
 It's below.

Vendor fix went to the ide maintainer and to me for the libata ALi driver
so ATA/ATAPI should all work now. Not clear if that also fixes the non IDE
cases but would be useful to know



---
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: [usb-storage] Re: [v4l-dvb-maintainer] 2.6.16-rc: saa7134 + u sb-storage = freeze

2006-03-17 Thread Alan Cox
On Fri, Mar 17, 2006 at 09:59:44AM -0600, Ballentine, Casey wrote:
 Attached please find the output of lspci -vvxxx using the released 1.05
 BIOS and the 1.05 test BIOS on a VIA EPIA PD-1 mainboard (CLE266
 northbridge and vt8235 southbridge).  Hopefully this will shed some light on
 what VIA is doing.  Let me know if I can provide more information.

Ok the changes in the PCI space are

82C586_1:   0x70 was 0x22: now 0x42
8235(South) :   0x91 was 0x00 now 0x03
862X(North) :   0x61 was 2a now ea 0x62 was 00 now 03 0x68
was 0xD1 now 0xCA 0x81 was 0x61 now 0x69


8235 0x91 is just general purpose timer control
82C586_1 0x70 is an IDE status bit

So the changes that matter are those (or some of those) on the 862X. Which is
the one bit I don't have docs on



---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: [usb-storage] Re: [v4l-dvb-maintainer] 2.6.16-rc: saa7134 + u sb-storage = freeze

2006-03-16 Thread Alan Cox
On Thu, Mar 16, 2006 at 04:55:11PM -0300, Mauro Carvalho Chehab wrote:
 Em Qua, 2006-03-15 às 18:44 -0500, Alan Cox escreveu:
  On Wed, Mar 15, 2006 at 03:24:40PM -0600, Ballentine, Casey wrote:
   I would bet we could add the vt8235 to the list of broken chipsets 
   as well, if it's not already there.  My company has completely 
  
  Works for me 8)
 On overlay mode? Weird!

May depend on the northbridge not the south, or the combination of course

VIA just posted some BIOS updates. If we can get the before and after we
can probably figure it out. If not then once the new BIOSes go from beta 
it'll be a case of poking via gently for info


---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: [usb-storage] Re: [v4l-dvb-maintainer] 2.6.16-rc: saa7134 + u sb-storage = freeze

2006-03-15 Thread Alan Cox
On Wed, Mar 15, 2006 at 03:24:40PM -0600, Ballentine, Casey wrote:
 I would bet we could add the vt8235 to the list of broken chipsets 
 as well, if it's not already there.  My company has completely 

Works for me 8)

A lot of this is BIOS dependant and if we can isolate cases where one
BIOS works and another doesn't an lspci -vvxxx would be helpful so we
can look for chipset pokery



---
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Bad OHCI USB handoff and i8042 interaction

2006-02-01 Thread Alan Cox
On Mer, 2006-02-01 at 11:47 -0500, Alan Stern wrote:
 Dmitry:
 
 These two bug reports appear to be the same problem:
 
 http://bugzilla.kernel.org/show_bug.cgi?id=4791
 http://bugzilla.kernel.org/show_bug.cgi?id=5932
 
 My feeling is that there's no way to change the OHCI usb-handoff code so 
 that it will work with these buggy BIOSes.  The reason the problem is 
 showing up now is probably an order-of-execution thing.  Previously the 
 i8042 would be initialized before the USB handoff, so it worked okay.  Now 
 the i8042 initialization occurs after the USB handoff, so it fails.

The older Red Hat code triggers the USB handoff setup from the i8042
setup at the point the i8042 appears to be talking through its backside.
Seems to be no reason for the non modular case the same cannot be done
now (or done for all cases if need be)



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: BUG?: VIA IDE transfer-rate problem

2006-01-18 Thread Alan Cox
On Iau, 2006-01-19 at 00:41 +0100, Helmut Toplitzer wrote:
 Ok. Was just a bit digging through the sourcecode. Found a
 function called disable_hlt. Some further digging.
 Found in drivers/block/floppy.c a usage of disable_hlt.
 It's called (if I haven't missunderstood something) 
 whenever a DMA transfer is setup. enable_hlt is called
 when a transfer stops/is cancled etc...

Yes this deals with some errata cases

 Does such thing makes sense for IDE DMA-transfers too? 
 (Maybe I've missed something)

Only for the CS5510 Cyrix as far as I know, and I really ought to fix
that in the new libata driver.

Generally speaking hlt is good, it takes the CPU off the bus and frees
it up for the other users.



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [2.6 patch] remove unused tmp_buf_sem's

2006-01-15 Thread Alan Cox
On Gwe, 2006-01-13 at 19:49 -0800, Greg KH wrote:
 On Sat, Jan 14, 2006 at 03:08:16AM +0100, Adrian Bunk wrote:
  --  snip  --
  
  
  tmp_buf_sem sems to be a common name for something completely unused...


That would be correct. The old tty driver layer used to call -write
from both kernel and user contexts according to a flag. Drivers then all
ended up with the same code copying it into a tmp buffer and using a
locking semaphore. 

Linus took out that code and arranged that -write always got a kernel
buffer so the remainders should indeed go.

Alan



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [patch]cleanup of usblp

2006-01-08 Thread Alan Cox
On Sad, 2006-01-07 at 15:21 -0800, Pete Zaitcev wrote:
 On Sat, 07 Jan 2006 23:11:07 +, Alan Cox [EMAIL PROTECTED] wrote:
 
  wait_event(tty_ldisc_wait, tty_ldisc_try(tty));
 
 That is more or less all right, I agree. It is still somewhat limited
 because the lock cannot be held across the loop into its body, so
 actions cannot be taken atomically with the condition.

If that is the needed case you do something like


wait_event(foo_wait, foo_and_lock(foo));
blah
unlock(foo)

Alan



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [patch]cleanup of usblp

2006-01-07 Thread Alan Cox
On Sad, 2006-01-07 at 14:18 -0800, Pete Zaitcev wrote:
 Using wait_for_event is never an improvement. It's just a retarded API,
 which allows you to save lines-of-code count at expense of being opaque
 and conflicting with proper locking.

Used properly it makes things very clear. In particular lots of code
ends up with a function that figures out if it can make progress. Use
that function as the wait_event argument.

See the tty drivers which do this.

wait_event(tty_ldisc_wait, tty_ldisc_try(tty));


is pretty explicit.



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: need for packed attribute

2006-01-06 Thread Alan Cox
On Gwe, 2006-01-06 at 12:23 -0800, Pete Zaitcev wrote:
 or it is just a bug which didn't reach gcc people yet. It is dysfunctional
 to have structures padded in this way. On all other platforms they are
 only padded if they include a member which is bigger than the char.

Not true. Maybe for the other platforms we support today but a large
number of compilers have used 2 or 4 byte alignment for all object
starts, especially little endian word addressed systems. I suspect
ucLinux as it hits bigger DSP oriented devices will find more examples.

Russell is right on this one. If you want an object to be aligned as you
lay it out use attribute packed either on the struct or the relevant
fields.


Alan



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [PATCH 1/1] g_file_storage: emulate SCSI CDROM instead of disk ('true read-only') for 'ro=1' option

2005-12-08 Thread Alan Cox
On Iau, 2005-12-08 at 11:00 -0500, Alan Stern wrote:
 module parameter.  For some reason (don't ask me why -- I don't know) the
 SCSI core doesn't check a disk device's write-protect status unless the
 device is marked as removable.

Have you asked the scsi maintainers why this occurs. Having had a quick
look over the specs I have here I can't see why this is done either.




---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [PATCH 00/10] usb-serial: Switches from spin lock to atomic_t.

2005-12-07 Thread Alan Cox
On Mer, 2005-12-07 at 16:50 +0100, Oliver Neukum wrote:
 But the atomic variant has to guard against interrupts, at least on
 architectures that do load/store only, hasn't it?

Yes. And you will see at least four different approaches 

1. ll/sc where if the sequence was interrupted and may be stale it gets
retried

2. locked operations where the IRQ cannot split the sequence and use of 

3. spin locks to provide atomic operations where there are architecture
limits

4. Use of instructions acting on memory where the CPU in question has
them and (as is usual in processors) does not permit an IRQ mid
instruction.

Thus on x86

*foo++

might be atomic, might not on uniprocessor v interrupt solely because
the compiler chooses the operations. Atomic_inc however merely has to
use asm to force an inc of a memory location target. That instruction
cannot be split part way by an interrupt so is sufficient.

Relative efficiency of spin_lock versus atomic_foo is very platform
dependant.



---
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] cdc-acm.c in 2.6.14-mm1

2005-11-08 Thread Alan Cox
On Maw, 2005-11-08 at 15:06 +0100, Oliver Neukum wrote:
 Am Dienstag, 8. November 2005 00:47 schrieb Andrew Morton:
  Guys, I had to fix a clash between recent changes in this file and Alan's
  rework of the tty buffering scheme.  I'm not 100% confident in the result.
 
 Are the change to the tty layer documented somewhere?

Linux-kernel July 21st - pasted again below. Since then _flags variants
have been added which let you do blocks of data + flags.

The big thing is that the tty layer now does real buffering so all the
horrible driver hacks can go away.

-

At the moment tty buffers are attached directly to the tty. This is
causing a lot of the problems related to tty layer locking, also
problems at high speed and also with bursty data (such as occurs in
virtualised environments)

I'm working on ripping out the flip buffers and replacing them with a
pool of dynamically allocated buffers. This allows both for old style
byte I/O devices and also helps virtualisation and smart devices where
large blocks of data suddenely materialise and need storing.

So far so good. Lots of drivers reference tty-flip.*. Several of them
also call directly and unsafely into function pointers it provides. This
will all break. Most drivers can use tty_insert_flip_char which can be
kept as an API but others need more.

At the moment I've added the following interfaces, if people think more
will be needed now is a good time to say


int tty_buffer_request_room(tty, size)

Try and ensure at least size bytes are available, returns actual room
(may be zero). At the moment it just uses the flipbuf space but that
will change. Repeated calls without characters being added are not
cumulative. (ie if you call it with 1, 1, 1, and then 4 you'll have four
characters of space. The other functions will also try and grow buffers
in future but this will be a more efficient way when you know block
sizes.

int tty_insert_flip_char(tty, ch, flag)

As before insert a character if there is room. Now returns 1 for
success, 0 for failure.

int tty_insert_flip_string(tty, str, len)

Insert a block of non error characters. Returns the number inserted.

int tty_prepare_flip_string(tty, strptr, len)

Adjust the buffer to allow len characters to be added. Returns a buffer
pointer in strptr and the length available. This allows for hardware
that needs to use functions like insl or mencpy_fromio.


I've converted a fair number of drivers to this API ready and I'll post
some patches for review soon.



---
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42 plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: Commit [PATCH] USB: Always do usb-handoff breaks my powerbook

2005-11-01 Thread Alan Cox
On Maw, 2005-11-01 at 14:30 +1100, Benjamin Herrenschmidt wrote:
 Damn, those quirks should really be either more careful or be made
 platform specific if they are x86 junk workarounds.

USB handoff is fairly x86 specific. The x86 folks took great care to
handle back compatibility while Apple was content to just dump the users
and machines.

   It is illegal, whatever the platform is, to tap a PCI device MMIO like

Not illegal - invalid.

Please get that right as we have far too many incorrect uses of
illegal in publically visible printk calls. Illegal means prohibited
by law.




---
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [PATCH 01/04] USB: add notifier

2005-10-21 Thread Alan Cox
On Mer, 2005-10-19 at 14:21 -0700, gary clark wrote:
 The reasons why I want to do this without breaking a
 confidentiality agreement is to not let the user know
 that I have disabled/enabled the USB devices.
 I dont want it in user space, simply because he can
 kill the app with ease...in kernel space well thats a
 bit more tricky.

The user cannot easily kill a root owned process only their own. And if
you are trying to stop the device owner from accessing their own
hardware then I hope you have good lawyers.

It's hard to give any advice with such little info - the threat model is
critical to this, whether it is something like POS and disabling
unauthorised devices on a cash till, whether it is virtualisation or
even security devices.

Alan



---
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [Security] Re: [linux-usb-devel] Re: [BUG/PATCH/RFC] Oops while completing async USB via usbdevio

2005-10-11 Thread Alan Cox
On Tue, Oct 11, 2005 at 03:13:39PM -0400, Alan Stern wrote:
 Surely Linux uses entirely original code, with no hangovers from the
 original ATT Unix...  Besides, to the best of my recollection, the two
 operations are equal in speed on a PDP-11.

I've no idea but I don't believe the relative speed of PDP_11 operations is
security critical in Linux so can you trim the cc line



---
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [Security] [vendor-sec] [BUG/PATCH/RFC] Oops while completing async USB via usbdevio

2005-09-27 Thread Alan Cox
On Maw, 2005-09-27 at 09:09 -0700, Linus Torvalds wrote:
  root-owned), then the urb completes, and kill_proc_info() sends the
  signal to the unsuspecting process.
 
 Ehh.. pid's don't get re-used until they wrap.

Which doesn't take very long to arrange. Relying on pids is definitely a
security problem we don't want to make worse than it already is. 

 If you look it up by pid, it won't be stale, now will it?

Just potentially wrong, but if it uses the SIGIO code and the SIGIO code
is fixed then it works out.



---
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [Security] [vendor-sec] [BUG/PATCH/RFC] Oops while completing async USB via usbdevio

2005-09-27 Thread Alan Cox
On Maw, 2005-09-27 at 09:59 -0700, Linus Torvalds wrote:
 
 On Tue, 27 Sep 2005, Alan Cox wrote:
  
  Which doesn't take very long to arrange. Relying on pids is definitely a
  security problem we don't want to make worse than it already is. 
 
 The thing is, the current code is _worse_. 
 
 MUCH worse.

Violent agreement



---
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: PATCH: decreasing latency for FT232BM

2005-09-19 Thread Alan Cox
   1. if low_latency flag isn't set we don't care about hardware latency.
   2. if we're in canonical mode, assume theres a human on the other end.
   3. VTIME only applies in non-canonical mode.
   4. Any VTIME value greater than 0 corresponds to at least 100 ms, so we
 don't care about low hardware latency.


And your heuristic is wrong for ppp on slower boxes.

 tty flip buffer contents are processed after receiving data.  In 
 low-latency mode the contents are processed immediately, but in 
 normal-latency mode a task was scheduled to process the contents.  At 

The former can cause problems on slower boxes because the processing is
done at IRQ level.

 high receive rates, this could result in data being thrown away because 
 the flip buffer hadn't flipped yet.

Flip buffers are history in 2.6-mm so that aspect is done and buried




---
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42 plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: Lost keyboard on Inspiron 8200 at 2.6.13

2005-09-17 Thread Alan Cox
On Sad, 2005-09-17 at 00:12 -0400, Alan Stern wrote:
 Where does early handoff install a fake interrupt handler for UHCI?  I 
 don't see any in drivers/pci/quirks.c.

Fedora patches for 2.6.9 rather than the current code.

  You need them because an IRQ could be pending on the channel at the
  point you switch over or triggered on the switch and a few people saw
  this behaviour.
 
 Yes, that would be needed if you have edge-triggered interrupts.  But 
 isn't PCI supposed to be level-triggered?

Yes and at the time several people saw hangs on the changeover unless we
cleared pending IRQ bits in the IRQ handler. That may have been related
to various ACPI problems from back then. I don't know for sure.

  I'd like to see it shared but that means handoff belongs in the input
  layer code and the USB layer needs to call into it if appropriate.
 
 Why does it mean that?  And why the input layer as opposed to the PCI 
 layer, where it is now?

PCI layer makes even more sense yes



---
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42 plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: Lost keyboard on Inspiron 8200 at 2.6.13

2005-09-16 Thread Alan Cox
On Gwe, 2005-09-16 at 15:24 -0700, Pete Zaitcev wrote:
 I see why you would want to merge them, but is it worth the trouble?
 They are not identical. For one thing, early handoff installs its own
 fake interrupt handlers (Alan Cox insisted on it in the RHEL
 implementation).

You need them because an IRQ could be pending on the channel at the
point you switch over or triggered on the switch and a few people saw
this behaviour.

I'd like to see it shared but that means handoff belongs in the input
layer code and the USB layer needs to call into it if appropriate.



---
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42 plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


RE: [linux-usb-devel] imx usb gadget controller driver

2005-08-30 Thread Alan Cox
On Maw, 2005-08-30 at 11:14 +0530, [EMAIL PROTECTED] wrote:
 Now we have to upgrade to update 1 from Red Hat. We tried with Update 1
 and kernel version for this is 2.6.9-11.   But with this kernel
 disconnecting mobile works fine for the first time after that it's
 giving kernel panic and I tried some 3-4 times after that system is
 crashed.
 
 Since disconnecting is common functionality and always we are facing
 kernel panic with this function.
 
 Please give us suggestions on this.

You should raise Red Hat Enterprise Linux problems with your Red Hat
support contact. That way they will reach the people you are paying to
support it, and who know the code variant best.

Alan


---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] CDC-ACM class driver/driver development

2005-08-28 Thread Alan Cox
On Sad, 2005-08-27 at 21:49 -0700, Pete Zaitcev wrote:
 The size of flip buffers, I expect. And you cannot flip them too often.

I sent Andrew Morton the patches to fix all the tty layer buffering
limits by replacing the flip buffers with kmalloc managed rings of
buffers. I've not heard back so I'll poke him about it again soon in
case it got eaten by OSDL's rather dodgy spam filters.

   3. In case no standard class driver works out, which kernel driver do
   you
   recommend for study? I'd need a high speed/low delay IN and OUT channel

The tty layer btw is designed for batching rather than low latency.



---
SF.Net email is Sponsored by the Better Software Conference  EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile  Plan-Driven Development * Managing Projects  Teams * Testing  QA
Security * Process Improvement  Measurement * http://www.sqe.com/bsce5sf
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: USB: pwc driver removal

2005-03-15 Thread Alan Cox
On Maw, 2005-03-15 at 17:40, Greg KH wrote:
 Please start sending me patches to fix it up, as it has a number of
 issues.  You can find it in the nightly -bk snapshots on kernel.org.

Send patches to the maintainer not to GregKH please. There is a
subversion tree of the development work. Also send the v4l2 library
patches that go with the kernel changes to the V4L maintainers.

If stuff goes around the SV tree mayhem will occur.

Alan



---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB: pwc driver removal

2005-03-15 Thread Alan Cox
On Maw, 2005-03-15 at 17:20, Luca Risolia wrote:
 Greg, 
   after many months since the inclusion in -ac tree, the pwc driver in 
 the 
 -mm tree _still_ implements decompression in kernelspace, which is 
 depecrated. 
 I think this matter has been already discussed in the lkml. 

The driver is an ongoing work. It now has open source decompressors but
hasn't yet acquired all the v4l2 stuff and the decompressor move to user
space (IF that makes sense as the decode is not a standard one). It
can't move until V4L2 user space has moved.

Alan



---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: USB: pwc driver removal

2005-03-15 Thread Alan Cox
On Maw, 2005-03-15 at 21:07, Luca Risolia wrote:
 If you want, I will send a patch to fix the kernel up by removing the driver 
 at all, otherwise be also prepared to accept any decompressors I might submit 
 in the future. 

How about behaving like an adult instead ?

 I don't see why pwc is a particular case. V4L2 is enough for the 
 decompression 
 to be done in userspace; there is one example under usb/media/ . 

Because nobody has pushed it into the user space library yet. Once it is
in the user space library and the V4L2 stuff is in the pwc code it makes
sense to obsolete it from pwc.

It isn't about where the decompressor is, it is about how we get there.

Alan



---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595alloc_id=14396op=click
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Security and USB.

2005-01-24 Thread Alan Cox
On Sul, 2005-01-23 at 05:43, Greg KH wrote:
 But as you already have physical access to the machine, it's quite easy
 to comprimise it in other ways, so hostile USB devices aren't really a
 pressing issue.

This is becoming the most worn out security myth on the planet.

Physical access in many environments is very different to the ability to
do harm. In many office environments you can't take the PC apart without
people noticing while nobody would consider a USB key hostile.

The university threat model is also based on my experience on physical
access being non-compromising because the systems are locked shut and
fastened to alarm cables. They have BIOS passwords and forced boot
orders.

Hostile USB devices are a threat, the rest is just sloppy Windows world
excuses. That said everyone (not just Greg) needs to be looking for USB
driver code that does trust the messages from the driver and *fixing*
it.

The big danger is probably not so much DoS cases which are a nuisance
certainly but stuff that trusts device provided information for things
like buffer sizes
or knows devices won't provide too much data.

Any kiddie with a cheap USB dev kit can knock out an attack tool
nowdays.

Alan
(Be glad you don't have firewire... 8))



---
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag--drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Partition and removable devices

2005-01-10 Thread Alan Cox
On Sul, 2005-01-09 at 15:41, Andries Brouwer wrote:
 Windows can handle removable usb devices with and without partition table.
 It is quite common for Compact flash and Smart Media cards to have
 a partition table.

Older Windows (98 etc) ignores CF cards without a partition table in my
experience.



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] 2.6: hcd.c: timer not removed?

2005-01-10 Thread Alan Cox
On Llu, 2005-01-10 at 10:42, Matthias Urlichs wrote:
   hcd = container_of (bus, struct usb_hcd, self);
 + if(hcd-rh_timer.data)
 + del_timer_sync (hcd-rh_timer);
   kfree(hcd);

If init_timer has ever been called then you can just use del_timer_sync
and it does the right thing on any time (it has to since the timer could
expire as you delete it). If not then timer.data isn't safe either.

I think you can thus lose that if




---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: changes to tty subsystem

2005-01-10 Thread Alan Cox
On Llu, 2005-01-10 at 11:03, Oliver Neukum wrote:
 Hi,
 
 you have done some fixes to the tty layer, haven't you? Is there anything
 that user of the layer need to change? I am getting reports of modems
 working only once and not hanging up correctly.

The original 2.6.9 patches had a bug in some configurations where pppd
didn't hang up. Fixed in 2.6.9-ac and in 2.6.10.

The only real change for a line discipline is that there is a hangup
callback and the close callback is only done at real close time now.



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB problems with SIS 530/5595 board

2005-01-04 Thread Alan Cox
On Maw, 2005-01-04 at 19:44, David Brownell wrote:
 If 2.6.10 doesn't work, then it'd be worth sorting out
 what the problem is.  There's no fundamental reason that
 old Socket7 chipset shouldn't work just fine with Linux.

I've got a sis530 in the junk pile here if it can be usefully used. Also
the chipset docs although SiS docs often don't include good errata info.

Alan



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB problems with SIS 530/5595 board

2005-01-04 Thread Alan Cox
This I noticed in the docs:  The support is for USB 1.0 not 1.1 OHCI 1.0
for USB 1.0





---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [PATCH as440] UHCI: Add volatile to declarations

2005-01-03 Thread Alan Cox
On Llu, 2005-01-03 at 18:31, Pete Zaitcev wrote:
 Fist is SMP: volatile does nothing to help serialize accesses, although
 I can see that in perhaps in this case it's not an issue. The second
 is portability: on a few CPUs special instructions are necessary for
 serializations, which are provided by memory barriers. I would suggest
 adding barriers explicitly.

It also causes abominably bad code generation compared to explicit
barriers. Consider volatile the wrong solution.



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [PATCH as440] UHCI: Add volatile to declarations

2005-01-03 Thread Alan Cox
On Llu, 2005-01-03 at 19:50, Alan Stern wrote:
   Going in and inserting barriers by hand is a painstaking and
   error-prone process, particularly when the code changes in the
   future.  By adding a single volatile, I can make the compiler
   do all that work for me, with no errors.
 
 In David's words, it's a tradeoff.  As the maintainer, I decided to go
 in favor of simplicity and ease-of-maintenance.

Thats unfortunate because we know from years of history its always been
the wrong decision, that older gcc gets volatile wrong and that
processor speculation which is not covered by volatile keywords still
eats you alive on PPC platforms.

Your choice as maintainer however if anyone would like to send alternate
barrier based patches for 2.6.10-ac I'd appreciate it.

Alan



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: [PATCH as440] UHCI: Add volatile to declarations

2005-01-03 Thread Alan Cox
On Llu, 2005-01-03 at 22:05, Alan Stern wrote:
 On Mon, 3 Jan 2005, Alan Cox wrote:
 Alan, I respect your judgement and your advice.  If after looking more 
 closely at this you still think the code should be changed to use barriers 
 instead, I will do it.
 
 But first you should read my reply to Pete, and you should see how the 
 driver is affected.  You will be hard-pressed to find any spots where the 
 volatile causes abominable code generation.

In terms of bad code, it will make uhci_show_qh keep reloading from
memory for each  UHCI_ foo that it looks at. uhci_insert_tds_in_qh
cases the objects so will end up using non volatile anyway. uhci-hcd.c
seems not to be too affected

None of this helps much when you are worried about races agains the host
controller however because the processors will speculate and volatile is
only a compile ordering tool. Even if volatile forces the ordering of
writes in the assembler, the processors like the PPC ones will then
change their minds unless you coax them nicely with rmb/wmb and friends.
Another little nasty is that operations like*x |= 1 on a volatile
will still generate

reg = *x
reg |= 1
*x = reg

on many processors, which is why we ended up with functionality like
set_bit()

Dave asked about speculation. The kind of things the processors will do
with main memory references (and sometimes other references but not
readl/writel type) is to issue them out of order, or just in case.
Even with volatiles everywhere code like

code = *v;

if(*a == 1)
ret = *b;
else
ret = *c;

can come out of the processor ordered as

read *b
read *c
read *a
read *v

When you use the barrier functions the kernel provides either
explicitly, or implicitly in the spinlock functions, those barriers are
true CPU level barriers (rmb/wmb). volatile is dont cache, the
barriers are -ordering-, and in almost all cases what you care about is
ordering as in the example compilation problem posted.

I make the comments based on several experiences where we added volatile
and then eventually ended up fixing it properly. I certainly can't
guarantee I am right I'm just voicing and opinion.

Alan



---
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almosthttp://www.thinkgeek.com/sfshirt
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Why is USB still a problem?

2004-12-29 Thread Alan Cox
On Mer, 2004-12-29 at 05:26, Garth Kay-Hards wrote:
 Now when it comes to the USB devices the system dosen't even allow me to try
 and choose a modem or scanner from a list.  In fact they system doesn't show
 USB devices in hardware setup (why?).  Surely I don't have to go out and

Ask your distro vendor. They should at least be shipping tools like
lsusb and Greg KH's hotplug based autoconfiguration nowdays. It's not
entirely perfect yet (eg Fedora Core will find USB printer and CD but
not always disks without help). USB is also particularly problematic
because so few vendors follow standards unlike say bluetooth where
gnome-bluetooth essentially just works because the phones all speak
the same protocols.

 purchace a modem that's Linux compatible - as someone here suggested to me.
 The modem is a common Creative Modem Blaster DE5670.  That's not what the PC
 should be about.

Ask Creative to provide drivers or docs.

Alan



---
SF email is sponsored by - The IT Product Guide
Read honest  candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
___
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] ep0 timeout followed by device removal, ep0 timeout continues

2004-10-22 Thread Alan Cox
On Gwe, 2004-10-22 at 16:15, Kyle Harris wrote:
 I have a condition where a certain usbdrive occasionally fails with ep0 
 timeout. If I remove the device when this happens, it appears the core does 
 not detect its removal. I have verified that the hcd properly sets the change 
 bits for the port, but it seems that the hub_status is not checked during 
 this time. Is there something else the hcd should do in this situation?

Does lsusb also hang after this - if so I've seen this in 2.6.8 but it
seems fixed in 2.6.9



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: new locking in change_termios breaks USB serial drivers

2004-10-02 Thread Alan Cox
On Gwe, 2004-10-01 at 19:14, Al Borchers wrote:
 * The tty layer could use a semaphore so the USB serial set_termios could
sleep until the new termios settings have taken effect before returning.

This seems to be the right choice and is the change I will implement.



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: new locking in change_termios breaks USB serial drivers

2004-10-01 Thread Alan Cox
On Gwe, 2004-10-01 at 11:40, Al Borchers wrote:
 Unfortunately, many USB serial drivers' set_termios functions
 send an urb to change the termios settings and sleep waiting for
 it to complete.
 
 I just looked quickly, but it seems belkin_sa.c, digi_acceleport.c,
 ftdi_sio.c, io_ti.c, kl5usb105.c, mct_u232.c, pl2303.c, and whiteheat.c
 all sleep in their set_termios functions.
 
 If this locking in change_termios() stays, we are going to have to
 fix set_termios in all of these drivers.  I am updating io_ti.c right
 now.

How much of a problem is this, would it make more sense to make the
termios locking also include a semaphore to serialize driver side events
and not the spin lock ?

We need some kind of locking there otherwise multiple parallel termios
setters resulting in truely strange occurences because driver authors
don't think about 64 parallel executions of -change_termios()

I can switch the lock around if you want.

Alan



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [patch 3/3] cypress_m8: add usb-serial driver 'cypress_m8' to kernel tree

2004-10-01 Thread Alan Cox
On Gwe, 2004-10-01 at 01:02, Lonnie Mendez wrote:
 This patch adds the cypress_m8 usb-serial driver for the Delorme Earthmate usb gps 
 and the Cypress hid-com rs232 adapter to the kernel tree.
 
 Signed-off-by: Lonnie Mendez [EMAIL PROTECTED]

Please don't add this yet. Firstly fix the fact the bogus call to
set_ldisc in the code. Secondly mask_to_rate is wrong. The mask to rate
conversions depend upon the platform (long story of compatibility) and
you should use the tty layer one.

The ioctl todo's for termios also need doing. Having TCGETS as a no-op
does not make the code ready for merging.



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] [patch 3/3] cypress_m8: add usb-serial driver 'cypress_m8' to kernel tree

2004-10-01 Thread Alan Cox
On Gwe, 2004-10-01 at 16:48, Lonnie Mendez wrote:
 look at pl2303_set_termios, it's almost the exact same setup except I 
 exported some of the code into another function 'cypress_serial_control'.  I 
 do not see any platform dependent code here in regards to the line setting 
 code.  If that is all you guys can see wrong, I will resubmit it. 

I'm happy to take a look at a newer version. I'm currently trying to
document the tty layer and clean up the interfaces.



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: new locking in change_termios breaks USB serial drivers

2004-10-01 Thread Alan Cox
On Gwe, 2004-10-01 at 17:24, Al Borchers wrote:
 Its a design decision for the tty layer.  You should choose whatever is
 best there and the drivers will have to adapt.

From a tty layer I don't think there is a motivation to enforce no
sleep. Hopefully nobody has a reason to need to fiddle with termios
data in their IRQ handlers ?

 To correctly support TCSETAW/TCSETSW the USB serial drivers would have to
 have two different versions of set_termios--a non sleeping one to be called

Providing the driver isnt sticking its nose into -ioctl the tty layer
core already correctly handles TCSETAW for you because it uses
tty_wait_until_sent before issuing the change. You don't have to deal
with that providing you've implemented driver-chars_in_buffer, and
if neccessary -wait_until_sent.

In a waiting case the driver will get

-chars_in_buffer
until it returns zero
-wait_until_sent
-change_termios

which serializes with respect to the one writer. If you have a writer
during a termios change by another well tough luck, you lose and I've
no intention of changing that behaviour unless someone cites a standard
requiring it.




---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] usbserial.c patch for 2.4.21-20 kernels

2004-09-28 Thread Alan Cox
On Maw, 2004-09-28 at 16:46, Sam King wrote:
 serial_unthrottle is not an issue because it is called as the result
 of system calls, where as serial_throttle is called when the tty
 driver buffer is full.  As we have seen, calls to serial_throttle can
 occur from an interrupt handler when the driver is receiving too much
 new data.  This can make the semaphore down function call inside
 serial_throttle panic.

This is not guaranteed or written down as a rule anywhere but it looks
ok for 2.4.x. For 2.6 I'm still trying to fix the locking and actually
document rules.

Alan



---
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] How to handle string descriptor request from usb-uhci

2004-09-07 Thread Alan Cox
On Maw, 2004-09-07 at 21:48, Toralf Lund wrote:
 Actually, our company name is strictly speaking Latin, but I don't think 
 it would be right to say that in the USB descriptors. Just like you 
 probably wouldn't encode your first name as Celtic (which I think it 
 originally is)

Probably Gaelic yes.

As to special characters, whether a special character means a word
isn't in that language is more complex and depends on the language
I'm afraid.

More seriously it would be good if vendors remembered
 - Not everyone has all full unicode font set so while linear-B may be
leet its not going to make people happy
 - A lot of disabled screen reading tools in the west tend to come apart
if you got much beyond ascii so you may fail S.508 considerations.




---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] RE: [PATCH] Early USB handoff

2004-09-02 Thread Alan Cox
On Iau, 2004-09-02 at 20:03, Aleksey Gorelov wrote:
   Basically, in a case of legacy free BIOS, HC is not in 
 SMM mode, and USB IRQ is routed to PCI IRQ line and generates
 interrupts. When this IRQ is enabled in PIC (by driver that 
 starts before HC driver), system is flooded with interrupts.

The BIOS should not be leaving the device generating interrupts surely ?
If that IRQ line ends up shared we are in trouble at boot time. 

   One solution is to reset HC, but it takes some time (at 
 least 50ms). I agree that it might duplicate SOME code in HC 
 driver, but HC init executes too late. Well, if handoff has 
 been done early, it might not be necessary to do the same in 
 HC driver.

We don't always want to hand off. Some setups only work in USB legacy
mode because of other bugs. Thats why the SMM fixup I did for E750x is
triggered in specific cases. We can do such things with DMI table
blacklists easily enough.

My E750x fix already duplicates some of the hand off code so we are
going to need it anyway and if there are more reasons for needing it
then so be it. I happened to only need to fix UHCI thats all.

Alan



---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: Summarizing the PWC driver questions/answers

2004-08-29 Thread Alan Cox
On Sad, 2004-08-28 at 00:13, Oliver Neukum wrote:
 Keeping drivers against the wishes of the authors in the tree would
 be very troubling for the future. I can assure you that no maintainer
 will lightly pull a driver in this way.

Then the kernel community is no longer fit to use my code. So you should
remove everything I've written from Linus kernel too. I'll maintain my
own kernel.

Oh gosh, look I've just crippled Linus tree and stolen his project.
Thats *WHY* you can't just rip drivers out. A license was granted, for
ever. You can certainly remove him from maintainers, and if he insists
from the author credits.

Alan



---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: pwc+pwcx is not illegal

2004-08-29 Thread Alan Cox
On Gwe, 2004-08-27 at 20:29, Linus Torvalds wrote:
 So stop whining about it. The driver got removed because the author asked 
 for it. 

Please put it back, minus the hooks so the rest of the world can use it.
If not please remove every line of code I've even written because I
don't like the new attitude .. so ner..

Point made ? We can't go around throwing out drivers because the author
had a tantrum. Its also trivial to move the decompressor to user space
where it should be anyway. Similarly the driver is useful without the
binary stuff.

Or do we need a -ac tree again where this time -ac is added camera ;)

Alan



---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


[linux-usb-devel] Re: pwc+pwcx is not illegal

2004-08-29 Thread Alan Cox
On Sul, 2004-08-29 at 17:33, Nemosoft Unv. wrote:
 That's one of the reasons I requested PWC to be removed. For me, it's also a 
 matter of quality: what good is a half-baked driver in the kernel when you 
 need to patch it first to get it working fully again? I don't want my name 
 attached to that.

It works very well for some users without that code. The raw pass
through for the compressed bitstreams solved the problems for the rest.
You appear to be seeking to hurt your userbase for your own ends. Thats
not pleasant behaviour.  I can more than understand
take my name off it, make it clear its nothing to do with me.

  Its also trivial to move the decompressor to user space 
  where it should be anyway. 
 
 *sigh* As I have been saying a 100 times before, it is illogical, cumbersome 
 for both users and developers, and will probably take a very long time to 
 adopt (notwithstanding V4L2 [*]). 

Video4linux has -always- specified decompressors in user space. This was
pointed out ages ago. V4L2 rationalised it even more clearly.

 *IF* there was a commonly accepted video middle-layer, this would not pose 
 much of a problem. But there is no such thing yet.
 
 (maybe that's something for a 2.7 kernel...)

No its for userspace. Just add it to the relevant video frameworks.

 Seriously, this probably would not have happened if, back in 2001, the 
 driver was rejected on the basis of this hook (you were there, Alan...) I 
 never made a secret of it, it has been in the driver from day 1 and its 
 purpose was clearly spelled out. If it had been rejected, I would probably 
 have just switched to '3rd party module' mode and maintained it outside the 
 kernel indefinetely. I would not have liked it, but it would have been 
 acceptable.

Back in 2001 I was saying that this was broken and it belonged in user
space.

 of thing in the kernel. However, since we're a bit late to react, we'll 
 leave it in the 2.4 and 2.6 series, but versions beyond that (2.7-devel, 
 etc) will not have PWC included in this form. In the mean time, we're 
 asking you to think of a solution. Chances are the situation would have 
 been fully resolved before that (and I mean fully *hint*).

There isn't a plan to have a 2.7 development tree but to do gradual
development until something major comes up. That makes the suggestion
rather more tricky - as does the legal question.




---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047alloc_id=10808op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] USB shared interrupt problem

2004-08-07 Thread Alan Cox
On Gwe, 2004-08-06 at 21:42, Pete Zaitcev wrote:
 I have a patch which prevents SMM BIOS from doing this to us
 by requesting unconditional handoff (it comes from Vojtech @SuSE,
 modified by John Stulz from IBM for 2.4). However, if you have a normal
 BIOS doing this, I'm a little lost as to what to do. It can still honor
 the handoff, if you're lucky.

In SMM mode the USB controller isn't connected to the PCI IRQ line. That
is one thing that is done in the changeover. It also seems to be causing
problems with EHCI hand over on NVidia boards still.

BTW the patch wants extending by someone to cover EHCI - modern boards
are doing EHCI USB legacy now.

Alan



---
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Driver for the Siemens ID Mouse

2004-07-28 Thread Alan Cox
On Mer, 2004-07-28 at 19:39, Oliver Neukum wrote:
   // reset the buffer position
   dev-buffer_pos = 0;
 
 If you are allowing multiple openers you cannot reset the buffer.
 And run it through indent.

I don't see how you can do this with a single opener since it can 
then be threaded and issue multiple I/O's in parallel.



---
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721alloc_id=10040op=click
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Re: RE : MPC5200Lite PCI IRQ

2004-06-26 Thread Alan Cox
On Sad, 2004-06-26 at 15:24, David Brownell wrote:
 Is there a designated no IRQ assigned code?  There should be one ...
 that's why such code gets cut/pasted.  Unless pci_enable_device() is
 (now) guaranteed to fail if the device has no IRQ assignment?

There are a lot of drivers that assume 0 means no IRQ, including some
big x86 non-PC systems. Remember however that dev-irq is an OS private
cookie. In the x86 case for example we add 16 to APIC directed
interrupts both to split IRQs out and to avoid this problem.

So if your board has an IRQ 0 and it is a problem - just change your
numbering scheme.



---
This SF.Net email sponsored by Black Hat Briefings  Training.
Attend Black Hat Briefings  Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Patch for UHCI driver (from kernel 2.6.6).

2004-06-15 Thread Alan Cox
On Maw, 2004-06-15 at 10:08, Nicolas DET wrote:
 For this specific case, the interrupt handler should manage it:
 
  if ( (!(status  ~USBSTS_HCH))  /* shared interrupt, not mine */
 || (!uhci-IntEnableReg_SW) )
  {
  retval = IRQ_NONE;
  goto end;
  }
 
 uhci-IntEnableReg_SW is the software view of the Interrupt Enable 
 register of our UHCI chipset.

It makes me nervous. The first thing I see is the question about
ordering between posted writes to the IntEnable reg in PCI space and the
software register. The second thing is returning IRQ_NONE causing the
screaming interrupt warning.

I'm not saying you are wrong, its the kind of code that I really really
would never write unless it had huge payback.

 So if the interrupt arrives between stop_interrupt and spin_lock, the 
 handler will no be taken because IntEnableReg_SW would be 0 (set by 
 stop_interrupt) and the spin_lock would not be executed.

You do hang in the IRQ handler in this case until the drop of the IRQ
reaches the far end of the link because it is level triggered.

Alan



---
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] usb_bulk_msg and data pointer

2004-06-14 Thread Alan Cox
On Sad, 2004-06-12 at 19:33, Margit Schubert-While wrote:
 Now the curiousity; if we use a pointer to the data area as returned
 from request_firmware, it doesn't work. If, however, we use the stack
 (or a kmalloc'ed area) and copy over and pass the stack (or km'ed area)
 address, then it works.
 Only thing I could find is that request_firmware allocates the data area
 using vmalloc. Why is this a problem ?

vmalloc is scatter gather virtual addressed data. It isnt DMAable. 
kmalloc space is linear and DMAable generally as (on some platforms
only) is the stack.




---
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


Re: [linux-usb-devel] Problem with lots of junk emails on this list.

2004-06-14 Thread Alan Cox
On Llu, 2004-06-14 at 04:47, Trent Whaley wrote:
  It's not just you.  By my count there have been 400+ of them in the last
  two days.  They've been appearing (mostly) in batches of 35-40 and
 
 It looks like someone's joe-jobbing [EMAIL PROTECTED] it's 
 just plain nasty.

Some random spambot has picked it for a source address, unfortunately
the list owner hasn't set things like bounce messages to be blocked in
the majordomo configuration for the list. 

Easily fixed once the list admin is awake.



---
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
___
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel


  1   2   3   >