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

« back to all changes in this revision

Viewing changes to drivers/usb/serial/cypress_m8.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:
111
111
        int baud_rate;                     /* stores current baud rate in
112
112
                                              integer form */
113
113
        int isthrottled;                   /* if throttled, discard reads */
114
 
        wait_queue_head_t delta_msr_wait;  /* used for TIOCMIWAIT */
115
114
        char prev_status, diff_status;     /* used for TIOCMIWAIT */
116
115
        /* we pass a pointer to this as the argument sent to
117
116
           cypress_set_termios old_termios */
449
448
                kfree(priv);
450
449
                return -ENOMEM;
451
450
        }
452
 
        init_waitqueue_head(&priv->delta_msr_wait);
453
451
 
454
452
        usb_reset_configuration(serial->dev);
455
453
 
868
866
        switch (cmd) {
869
867
        /* This code comes from drivers/char/serial.c and ftdi_sio.c */
870
868
        case TIOCMIWAIT:
871
 
                while (priv != NULL) {
872
 
                        interruptible_sleep_on(&priv->delta_msr_wait);
 
869
                for (;;) {
 
870
                        interruptible_sleep_on(&port->delta_msr_wait);
873
871
                        /* see if a signal did it */
874
872
                        if (signal_pending(current))
875
873
                                return -ERESTARTSYS;
876
 
                        else {
 
874
 
 
875
                        if (port->serial->disconnected)
 
876
                                return -EIO;
 
877
 
 
878
                        {
877
879
                                char diff = priv->diff_status;
878
880
                                if (diff == 0)
879
881
                                        return -EIO; /* no change => error */
1187
1189
        if (priv->current_status != priv->prev_status) {
1188
1190
                priv->diff_status |= priv->current_status ^
1189
1191
                        priv->prev_status;
1190
 
                wake_up_interruptible(&priv->delta_msr_wait);
 
1192
                wake_up_interruptible(&port->delta_msr_wait);
1191
1193
                priv->prev_status = priv->current_status;
1192
1194
        }
1193
1195
        spin_unlock_irqrestore(&priv->lock, flags);