In this release, the driver use the interrupt context.
So no more latency problem.
I still kfree the buffers provided by the usb-serial framework.
All comments/remarks are welcome
This driver seems very stable ( tested with 5 readers at the same time )
Alain
code rewritten in interrupt mode
Sig
Greg,
It is a problem because I use the pre-allocated buffer given by the layer
usb-serial.
Of course, I can create a new urb structure with a bigger buffer but I just
suggest that
using the buffer stored in the usb_serial_device seems to be logic and like
a said, other driver use it without chec
No need to split.
This is just what I need :-)
Thanks a lot.
Alain
-Message d'origine-
De : Oliver Neukum [mailto:[EMAIL PROTECTED]
Envoyé : lundi 30 juillet 2007 14:18
À : [EMAIL PROTECTED]
Cc : linux-usb-devel@lists.sourceforge.net
Objet : Re: [linux-usb-devel] usb-serial.c question
This is quite dangerous :-)
You can't apply a user requested buffer_size to interrupt_buffer !
The API should only apply the buffer size to bulk buffers...
Alain
-Message d'origine-
De : Oliver Neukum [mailto:[EMAIL PROTECTED]
Envoyé : lundi 30 juillet 2007 12:45
À : linux-usb-devel@li
Forget this :-)
All my problem came from the usage of a buffer inialized by usb-serial.c that
is too small for my module.. So I was writing or reading outside the memory
allocation dedicated to the urb structure
Alain
-Message d'origine-
De : Oliver Neukum [mailto:[EMAIL PROTECTED
Hi Greg,
After a new complete reading of my code against usb-serial.c, I finally
found ( I hope ) my problem.
In usb-serial.c, when bulk_in/out buffers are initialized, each buffer size
are the same as the wMaxPacketSize given by the endpoint.
So, in my case, my device have a value of 64 bytes an
Oliver,
The callback came from this function:
static void read_rxcmd_callback(struct urb *urb)
{
struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
int result;
dbg("%s - enter", __FUNCTION__);
dbg("%s - urb->status = %d", __FUNCTION__, urb->sta
I have the same problem in my development..
Somewhere in my code:
unsigned char *data = urb->transfer_buffer ;
if ( data == NULL )
dbg("%s - data is NULL !!!",__FUNCTION__ );
if ( urb->actual_length == 1 && data != NULL )
len
Hi all,
I just have rewritten the driver to do a constant polling. This imply that
the module work in interrupt context.
The driver works for a while but after some time ( 1 to 120 seconds
it
depends ), the driver produce a Oops.
But the oops dont give any error on the driver function but show a
OOps ;-)
2 missing characters...
Now it compile without warning or error
-Message d'origine-
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] De la part de Oliver
Neukum
Envoyé : jeudi 19 juillet 2007 8:22
À : linux-usb-devel@lists.sourceforge.net
Cc : Alain Degreffe
Objet : Re: [linux
This patch add the new iuu_phoenix driver.
Signed-off-by: Alain Degreffe <[EMAIL PROTECTED]>
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig
index 3efe670..1afcd0d 100644
--- a/drivers/usb/serial/Kconfig
+++ b/drivers/usb/serial/Kconfig
@@ -554,6 +554,15 @@ config USB_SERIAL
11 matches
Mail list logo