~ubuntu-branches/ubuntu/saucy/linux-ppc/saucy

« back to all changes in this revision

Viewing changes to drivers/usb/serial/pl2303.c

  • Committer: Package Import Robot
  • Author(s): Ben Collins, Ubuntu: 3.8.0-17.27
  • Date: 2013-04-08 18:16:48 UTC
  • mfrom: (16.1.9 raring)
  • Revision ID: package-import@ubuntu.com-20130408181648-z7suubhgtq6k6zke
Tags: 3.8.0-8.14
[ Ubuntu: 3.8.0-17.27 ]

* SAUCE: (no-up) Bluetooth: Add support for 04ca:2007
  - LP: #1153448
* SAUCE: (no-up) Bluetooth: Add support for 105b:e065
  - LP: #1161261
* SAUCE: (no-up) tools/power turbostat: additional Haswell CPU-id
  - LP: #1083993
* Revert "SAUCE: (no-up) seccomp: forcing auditing of kill condition"
  Replaced by upstream patch.
* Release Tracking Bug
  - LP: #1165746
* rebase to v3.8.6
* Revert "brcmsmac: support 4313iPA"
  - LP: #1157190
* tools/power turbostat: support Haswell
  - LP: #1083993
* net: calxedaxgmac: fix rx ring handling when OOM
* cpufreq: check OF node /cpus presence before dereferencing it
* Input: cypress_ps2 - fix trackpadi found in Dell XPS12
  - LP: #1103594
* ARM: OMAP2+: Limit omap initcalls to omap only on multiplatform kernels
* ARM: OMAP2+: Use omap initcalls
* ARM: OMAP: Fix i2c cmdline initcall for multiplatform
* ARM: OMAP: Fix dmaengine init for multiplatform
* ARM: OMAP2+: Add multiplatform debug_ll support
* ARM: OMAP2+: Disable code that currently does not work with
  multiplaform
* ARM: OMAP2+: Enable ARCH_MULTIPLATFORM support
* ARM: OMAP2+: Add minimal support for booting vexpress
* ARM: OMAP2+: Remove now obsolete uncompress.h and debug-macro.S
* davinci: do not include mach/hardware.h
* clk: export __clk_get_name for re-use in imx-ipu-v3 and others
* [SCSI] storvsc: avoid usage of WRITE_SAME
  - LP: #1157952
* ACPICA: Fix possible memory leak in dispatcher error path.
* KVM: x86: fix for buffer overflow in handling of MSR_KVM_SYSTEM_TIME (CVE-2013-1796)
  - LP: #1158254
  - CVE-2013-1796
* SAUCE: (no-up) Bluetooth: Add a load_firmware callback to struct hci_dev
  - LP: #1065400
* SAUCE: (no-up) Bluetooth: Implement broadcom patchram firmware loader
  - LP: #1065400
* SAUCE: (no-up) Bluetooth: Add support for 13d3:3388 and 13d3:3389
  - LP: #1065400

Show diffs side-by-side

added added

removed removed

Lines of Context:
139
139
 
140
140
struct pl2303_private {
141
141
        spinlock_t lock;
142
 
        wait_queue_head_t delta_msr_wait;
143
142
        u8 line_control;
144
143
        u8 line_status;
145
144
};
233
232
                return -ENOMEM;
234
233
 
235
234
        spin_lock_init(&priv->lock);
236
 
        init_waitqueue_head(&priv->delta_msr_wait);
237
235
 
238
236
        usb_set_serial_port_data(port, priv);
239
237
 
607
605
        spin_unlock_irqrestore(&priv->lock, flags);
608
606
 
609
607
        while (1) {
610
 
                interruptible_sleep_on(&priv->delta_msr_wait);
 
608
                interruptible_sleep_on(&port->delta_msr_wait);
611
609
                /* see if a signal did it */
612
610
                if (signal_pending(current))
613
611
                        return -ERESTARTSYS;
614
612
 
 
613
                if (port->serial->disconnected)
 
614
                        return -EIO;
 
615
 
615
616
                spin_lock_irqsave(&priv->lock, flags);
616
617
                status = priv->line_status;
617
618
                spin_unlock_irqrestore(&priv->lock, flags);
719
720
        spin_unlock_irqrestore(&priv->lock, flags);
720
721
        if (priv->line_status & UART_BREAK_ERROR)
721
722
                usb_serial_handle_break(port);
722
 
        wake_up_interruptible(&priv->delta_msr_wait);
 
723
        wake_up_interruptible(&port->delta_msr_wait);
723
724
 
724
725
        tty = tty_port_tty_get(&port->port);
725
726
        if (!tty)
784
785
        line_status = priv->line_status;
785
786
        priv->line_status &= ~UART_STATE_TRANSIENT_MASK;
786
787
        spin_unlock_irqrestore(&priv->lock, flags);
787
 
        wake_up_interruptible(&priv->delta_msr_wait);
 
788
        wake_up_interruptible(&port->delta_msr_wait);
788
789
 
789
790
        if (!urb->actual_length)
790
791
                return;