Hi!
This is to consider:
+ /* Ugh, acm->throttle can't be changed from tty_insert_flip_char, so I see no
+point in the test */
if (!urb->status & !acm->throttle) {
for (i = 0; i < urb->actual_length && !acm->throttle; i++)
And here's patch that fixes behaviour of acm: simple patch, but took
*hours* to figure out.
I can now login from my winmodem to my usb modem (which is serving as
dialin).
Pavel
PS: as side notice, winmodem is driven by fully opensourced components
-- which means it only works at 300bps :-).
--- clean/drivers/usb/acm.c Thu Apr 27 10:05:48 2000
+++ linux/drivers/usb/acm.c Wed May 24 22:36:17 2000
@@ -329,14 +340,15 @@
if (!ACM_READY(acm)) return -EINVAL;
if (acm->writeurb.status == -EINPROGRESS) return 0;
+ if (!count) return 0;
count = (count > acm->writesize) ? acm->writesize : count;
if (from_user)
copy_from_user(acm->writeurb.transfer_buffer, buf, count);
else
memcpy(acm->writeurb.transfer_buffer, buf, count);
acm->writeurb.transfer_buffer_length = count;
if (usb_submit_urb(&acm->writeurb))
--
I'm [EMAIL PROTECTED] "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents me at [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]