1. 18 5月, 2012 4 次提交
  2. 16 5月, 2012 1 次提交
  3. 15 5月, 2012 4 次提交
  4. 12 5月, 2012 2 次提交
  5. 11 5月, 2012 3 次提交
  6. 10 5月, 2012 4 次提交
  7. 08 5月, 2012 2 次提交
  8. 05 5月, 2012 6 次提交
  9. 03 5月, 2012 5 次提交
  10. 02 5月, 2012 2 次提交
    • A
      vt: Fix deadlock on scroll-lock · 84f904ec
      Alan Cox 提交于
      Fixing the locking accidentally replaced a race in the scroll
      lock handling with a deadlock. Turn it back into a race for
      now.
      
      The basic problem is that there are two paths into the tty
      stop/start helpers. One via the tty layer ^S/^Q handling
      where we need to take the kbd_event_lock and one via the
      special keyboard handler for fn_hold where we already hold
      it. Probably we need to split out into a separate LED lock
      but for now just go back to the race as it's a bit close
      to release.
      Reported-by: NClemens Ladisch <clemens@ladisch.de>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      84f904ec
    • C
      8250.c: less than 2400 baud fix. · f9a9111b
      Christian Melki 提交于
      We noticed that we were loosing data at speed less than 2400 baud.
      It turned out our (TI16750 compatible) uart with 64 byte outgoing fifo
      was truncated to 16 byte (bit 5 sets fifo len) when modifying the fcr
      reg.
      The input code still fills the buffer with 64 bytes if I remember
      correctly and thus data is lost.
      Our fix was to remove whiping of the fcr content and just add the
      TRIGGER_1 which we want for latency.
      I can't see why this would not work on less than 2400 always, for all
      uarts ...
      Otherwise one would have to make sure the filling of the fifo re-checks
      the current state of available fifo size (urrk).
      Signed-off-by: NChristian Melki <christian.melki@ericsson.se>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f9a9111b
  11. 30 4月, 2012 3 次提交
    • A
      8250_pci: fix pch uart matching · aaa10eb1
      Arnaud Patard 提交于
      The rules used to make 8250_pci "ignore" the PCH uarts are lacking pci subids
      entries, preventing it to match and thus is breaking serial port support for
      theses systems.
      
      This has been tested on a nanoETXexpress-TT, which has a specifici uart clock.
      Tested-by: NErwan Velu <Erwan.Velu@zodiacaerospace.com>
      [stable@: please apply to 3.0-stable, 3.2-stable and 3.3-stable]
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: NArnaud Patard <apatard@hupstream.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      aaa10eb1
    • J
      TTY: n_tty, do not dereference user buffer · 3fa10cc8
      Jiri Slaby 提交于
      copy_from_read_buf currently copies data to a user buffer and then
      checks if the data is single EOF. But it checks it by accessing the
      user buffer. First, the buffer may be changed by other threads of the
      user program already. Second, it accesses the buffer without any
      checks. It might be write-only for example.
      
      Fix this by inspecting contents of the tty (kernel) buffer instead.
      Note that "n == 1" is necessary, but not sufficient. But we check
      later that there is nothing left by "!tty->read_cnt" condition.
      
      There is still an issue with the current code that EOF being wrapped
      to the start of the circular buffer will result in an inappropriate
      losing of the EOF character. But this is not intended to be fixed by
      this patch.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Reported-by: NEmil Goode <emilgoode@gmail.com>
      Cc: Howard Chu <hyc@symas.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3fa10cc8
    • L
      tty/serial/pmac_zilog: Fix "nobody cared" IRQ message · 810b4de2
      Larry Finger 提交于
      Following commit a79dd5ae titled "tty/serial/pmac_zilog: Fix suspend & resume",
      my Powerbook G4 Titanium showed the following stack dump:
      
      [   36.878225] irq 23: nobody cared (try booting with the "irqpoll" option)
      [   36.878251] Call Trace:
      [   36.878291] [dfff3f00] [c000984c] show_stack+0x7c/0x194 (unreliable)
      [   36.878322] [dfff3f40] [c00a6868] __report_bad_irq+0x44/0xf4
      [   36.878339] [dfff3f60] [c00a6b04] note_interrupt+0x1ec/0x2ac
      [   36.878356] [dfff3f80] [c00a48d0] handle_irq_event_percpu+0x250/0x2b8
      [   36.878372] [dfff3fd0] [c00a496c] handle_irq_event+0x34/0x54
      [   36.878389] [dfff3fe0] [c00a753c] handle_fasteoi_irq+0xb4/0x124
      [   36.878412] [dfff3ff0] [c000f5bc] call_handle_irq+0x18/0x28
      [   36.878428] [deef1f10] [c000719c] do_IRQ+0x114/0x1cc
      [   36.878446] [deef1f40] [c0015868] ret_from_except+0x0/0x1c
      [   36.878484] --- Exception: 501 at 0xf497610
      [   36.878489]     LR = 0xfdc3dd0
      [   36.878497] handlers:
      [   36.878510] [<c02b7424>] pmz_interrupt
      [   36.878520] Disabling IRQ #23
      
      From an E-mail exchange about this problem, Andreas Schwab noticed a typo
      that resulted in the wrong condition being tested.
      
      The patch also corrects 2 typos that incorrectly report why an error branch
      is being taken.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      810b4de2
  12. 25 4月, 2012 1 次提交
  13. 20 4月, 2012 1 次提交
  14. 19 4月, 2012 2 次提交
    • D
      serial/8250_pci: fix suspend/resume vs init/exit quirks · 5f1a3895
      Dan Williams 提交于
      Commit e86ff4a6 "serial/8250_pci: init-quirk msi support for kt serial
      controller" introduced a regression in suspend/resume by causing msi's
      to be enabled twice without an intervening disable.
      
      00:16.3 Serial controller: Intel Corporation Patsburg KT Controller (rev 05) (prog-if 02 [16550])
             Subsystem: Intel Corporation Device 7270
             Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 72
             I/O ports at 4080 [size=8]
             Memory at d1c30000 (32-bit, non-prefetchable) [size=4K]
             Capabilities: [c8] Power Management version 3
             Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
             Kernel driver in use: serial
      
      [  365.250523] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:16.3/msi_irqs'
      [  365.250525] Modules linked in: nls_utf8 ipv6 uinput sg iTCO_wdt
        iTCO_vendor_support ioatdma dca i2c_i801 i2c_core wmi sd_mod ahci libahci isci
        libsas libata scsi_transport_sas [last unloaded: scsi_wait_scan]
      [  365.250540] Pid: 9030, comm: kworker/u:1 Tainted: G        W    3.3.0-isci-3.0.213+ #1
      [  365.250542] Call Trace:
      [  365.250545]  [<ffffffff8115e955>] ? sysfs_add_one+0x99/0xad
      [  365.250548]  [<ffffffff8102db8b>] warn_slowpath_common+0x85/0x9e
      [  365.250551]  [<ffffffff8102dc96>] warn_slowpath_fmt+0x6e/0x70
      [  365.250555]  [<ffffffff8115e8fa>] ? sysfs_add_one+0x3e/0xad
      [  365.250558]  [<ffffffff8115e8b4>] ? sysfs_pathname+0x3c/0x44
      [  365.250561]  [<ffffffff8115e8b4>] ? sysfs_pathname+0x3c/0x44
      [  365.250564]  [<ffffffff8115e8b4>] ? sysfs_pathname+0x3c/0x44
      [  365.250567]  [<ffffffff8115e8b4>] ? sysfs_pathname+0x3c/0x44
      [  365.250570]  [<ffffffff8115e955>] sysfs_add_one+0x99/0xad
      [  365.250573]  [<ffffffff8115f031>] create_dir+0x72/0xa5
      [  365.250577]  [<ffffffff8115f194>] sysfs_create_dir+0xa2/0xbe
      [  365.250581]  [<ffffffff81262463>] kobject_add_internal+0x126/0x1f8
      [  365.250585]  [<ffffffff8126255b>] kset_register+0x26/0x3f
      [  365.250588]  [<ffffffff8126275a>] kset_create_and_add+0x62/0x7c
      [  365.250592]  [<ffffffff81293619>] populate_msi_sysfs+0x34/0x103
      [  365.250595]  [<ffffffff81293e1c>] pci_enable_msi_block+0x1b3/0x216
      [  365.250599]  [<ffffffff81303f7c>] try_enable_msi+0x13/0x17
      [  365.250603]  [<ffffffff81303fb3>] pciserial_resume_ports+0x21/0x42
      [  365.250607]  [<ffffffff81304041>] pciserial_resume_one+0x50/0x57
      [  365.250610]  [<ffffffff81283e1a>] pci_legacy_resume+0x38/0x47
      [  365.250613]  [<ffffffff81283e7d>] pci_pm_restore+0x54/0x87
      [  365.250616]  [<ffffffff81283e29>] ? pci_legacy_resume+0x47/0x47
      [  365.250619]  [<ffffffff8131e9e8>] dpm_run_callback+0x48/0x7b
      [  365.250623]  [<ffffffff8131f39a>] device_resume+0x342/0x394
      [  365.250626]  [<ffffffff8131f5b7>] async_resume+0x21/0x49
      
      That patch has since been reverted, but by inspection it seems that
      pciserial_suspend_ports() should be invoking .exit() quirks to release
      resources acquired during .init().
      Acked-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5f1a3895
    • S
      serial/8250_pci: Clear FIFOs for Intel ME Serial Over Lan device on BI · 0ad372b9
      Sudhakar Mamillapalli 提交于
      When using Serial Over Lan (SOL) over the virtual serial port in a Intel
      management engine (ME) device, on device reset the serial FIFOs need to
      be cleared to keep the FIFO indexes in-sync between the host and the
      engine.
      
      On a reset the serial device assertes BI, so using that as a cue FIFOs
      are cleared.  So for this purpose a new handle_break callback has been
      added.  One other problem is that the serial registers might temporarily
      go to 0 on reset of this device.  So instead of using the IER register
      read, if 0 returned use the ier value in uart_8250_port. This is hidden
      under a custom serial_in.
      
      Cc: Nhan H Mai <nhan.h.mai@intel.com>
      Signed-off-by: NSudhakar Mamillapalli <sudhakar@fb.com>
      Acked-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0ad372b9