~ubuntu-branches/ubuntu/raring/linux-ppc/raring

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Ben Collins, Ubuntu: 3.8.0-17.27
  • Date: 2013-04-08 18:16:48 UTC
  • Revision ID: package-import@ubuntu.com-20130408181648-6ydww19wrya2ddoh
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:
61
61
        spinlock_t status_lock;
62
62
        u8 shadowLSR;
63
63
        u8 shadowMSR;
64
 
        wait_queue_head_t delta_msr_wait; /* Used for TIOCMIWAIT */
65
64
        struct async_icount icount;
66
65
};
67
66
 
355
354
        spin_unlock_irqrestore(&priv->status_lock, flags);
356
355
 
357
356
        while (1) {
358
 
                wait_event_interruptible(priv->delta_msr_wait,
359
 
                                         ((priv->icount.rng != prev.rng) ||
 
357
                wait_event_interruptible(port->delta_msr_wait,
 
358
                                         (port->serial->disconnected ||
 
359
                                          (priv->icount.rng != prev.rng) ||
360
360
                                          (priv->icount.dsr != prev.dsr) ||
361
361
                                          (priv->icount.dcd != prev.dcd) ||
362
362
                                          (priv->icount.cts != prev.cts)));
364
364
                if (signal_pending(current))
365
365
                        return -ERESTARTSYS;
366
366
 
 
367
                if (port->serial->disconnected)
 
368
                        return -EIO;
 
369
 
367
370
                spin_lock_irqsave(&priv->status_lock, flags);
368
371
                cur = priv->icount;
369
372
                spin_unlock_irqrestore(&priv->status_lock, flags);
445
448
                return -ENOMEM;
446
449
 
447
450
        spin_lock_init(&priv->status_lock);
448
 
        init_waitqueue_head(&priv->delta_msr_wait);
449
451
 
450
452
        usb_set_serial_port_data(port, priv);
451
453
 
537
539
                        priv->icount.dcd++;
538
540
                if (msr & UART_MSR_TERI)
539
541
                        priv->icount.rng++;
540
 
                wake_up_interruptible(&priv->delta_msr_wait);
 
542
                wake_up_interruptible(&port->delta_msr_wait);
541
543
        }
542
544
}
543
545