diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-09-21 05:09:22 -0400 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-09-21 05:09:22 -0400 |
commit | 7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0 (patch) | |
tree | b064d077928cf224660ab1e1841cdab2c9fd8b08 /drivers/usb/class/cdc-acm.c | |
parent | e055f7e873d900925c222cf2d1ec955af4a9ca90 (diff) | |
parent | ebc79c4f8da0f92efa968e0328f32334a2ce80cf (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into linux-next
Conflicts:
fs/ubifs/super.c
Merge the upstream tree in order to resolve a conflict with the
per-bdi writeback changes from the linux-2.6-block tree.
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index e1f89416ef8c..85a1a55815cf 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -387,7 +387,6 @@ static void acm_rx_tasklet(unsigned long _acm) | |||
387 | struct acm_ru *rcv; | 387 | struct acm_ru *rcv; |
388 | unsigned long flags; | 388 | unsigned long flags; |
389 | unsigned char throttled; | 389 | unsigned char throttled; |
390 | struct usb_host_endpoint *ep; | ||
391 | 390 | ||
392 | dbg("Entering acm_rx_tasklet"); | 391 | dbg("Entering acm_rx_tasklet"); |
393 | 392 | ||
@@ -463,14 +462,12 @@ urbs: | |||
463 | 462 | ||
464 | rcv->buffer = buf; | 463 | rcv->buffer = buf; |
465 | 464 | ||
466 | ep = (usb_pipein(acm->rx_endpoint) ? acm->dev->ep_in : acm->dev->ep_out) | 465 | if (acm->is_int_ep) |
467 | [usb_pipeendpoint(acm->rx_endpoint)]; | ||
468 | if (usb_endpoint_xfer_int(&ep->desc)) | ||
469 | usb_fill_int_urb(rcv->urb, acm->dev, | 466 | usb_fill_int_urb(rcv->urb, acm->dev, |
470 | acm->rx_endpoint, | 467 | acm->rx_endpoint, |
471 | buf->base, | 468 | buf->base, |
472 | acm->readsize, | 469 | acm->readsize, |
473 | acm_read_bulk, rcv, ep->desc.bInterval); | 470 | acm_read_bulk, rcv, acm->bInterval); |
474 | else | 471 | else |
475 | usb_fill_bulk_urb(rcv->urb, acm->dev, | 472 | usb_fill_bulk_urb(rcv->urb, acm->dev, |
476 | acm->rx_endpoint, | 473 | acm->rx_endpoint, |
@@ -861,10 +858,7 @@ static void acm_tty_set_termios(struct tty_struct *tty, | |||
861 | if (!ACM_READY(acm)) | 858 | if (!ACM_READY(acm)) |
862 | return; | 859 | return; |
863 | 860 | ||
864 | /* FIXME: Needs to support the tty_baud interface */ | 861 | newline.dwDTERate = cpu_to_le32(tty_get_baud_rate(tty)); |
865 | /* FIXME: Broken on sparc */ | ||
866 | newline.dwDTERate = cpu_to_le32p(acm_tty_speed + | ||
867 | (termios->c_cflag & CBAUD & ~CBAUDEX) + (termios->c_cflag & CBAUDEX ? 15 : 0)); | ||
868 | newline.bCharFormat = termios->c_cflag & CSTOPB ? 2 : 0; | 862 | newline.bCharFormat = termios->c_cflag & CSTOPB ? 2 : 0; |
869 | newline.bParityType = termios->c_cflag & PARENB ? | 863 | newline.bParityType = termios->c_cflag & PARENB ? |
870 | (termios->c_cflag & PARODD ? 1 : 2) + | 864 | (termios->c_cflag & PARODD ? 1 : 2) + |
@@ -1183,6 +1177,9 @@ made_compressed_probe: | |||
1183 | spin_lock_init(&acm->read_lock); | 1177 | spin_lock_init(&acm->read_lock); |
1184 | mutex_init(&acm->mutex); | 1178 | mutex_init(&acm->mutex); |
1185 | acm->rx_endpoint = usb_rcvbulkpipe(usb_dev, epread->bEndpointAddress); | 1179 | acm->rx_endpoint = usb_rcvbulkpipe(usb_dev, epread->bEndpointAddress); |
1180 | acm->is_int_ep = usb_endpoint_xfer_int(epread); | ||
1181 | if (acm->is_int_ep) | ||
1182 | acm->bInterval = epread->bInterval; | ||
1186 | tty_port_init(&acm->port); | 1183 | tty_port_init(&acm->port); |
1187 | acm->port.ops = &acm_port_ops; | 1184 | acm->port.ops = &acm_port_ops; |
1188 | 1185 | ||