Skip to content
Snippets Groups Projects
  1. Feb 27, 2010
  2. Feb 17, 2010
  3. Feb 16, 2010
    • Anatolij Gustschin's avatar
      serial: mpc52xx_uart: re-enable mpc5121 PSC UART support · 6acc6833
      Anatolij Gustschin authored
      
      Currently the support for MPC5121 PSC UART in the mpc52xx_uart
      driver is broken (only console pre-initialized by the bootloader
      works). Re-enable it now by providing MPC5121 specific ops
      for PSCx clock activation, FIFO controller init/uninit and
      MPC5121 PSC FIFO shared interrupt handling functions.
      
      Signed-off-by: default avatarJohn Rigby <jcrigby@gmail.com>
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      6acc6833
    • Dick Hollenbeck's avatar
      serial: 8250: add serial transmitter fully empty test · bca47613
      Dick Hollenbeck authored
      
      When controlling an industrial radio modem it can be necessary to
      manipulate the handshake lines in order to control the radio modem's
      transmitter, from userspace.
      
      The transmitter should not be turned off before all characters have been
      transmitted.  serial8250_tx_empty() was reporting that all characters were
      transmitted before they actually were.
      
      ===
      
      Discovered in parallel with more testing and analysis by Kees Schoenmakers
      as follows:
      
      I ran into an NetMos 9835 serial pci board which behaves a little
      different than the standard.  This type of expansion board is very common.
      
      "Standard" 8250 compatible devices clear the 'UART_LST_TEMT" bit together
      with the "UART_LSR_THRE" bit when writing data to the device.
      
      The NetMos device does it slightly different
      
      I believe that the TEMT bit is coupled to the shift register.  The problem
      is that after writing data to the device and very quickly after that one
      does call serial8250_tx_empty, it returns the wrong information.
      
      My patch makes the test more robust (and solves the problem) and it does
      not affect the already correct devices.
      
      Alan:
      
        We may yet need to quirk this but now we know which chips we have a
        way to do that should we find this breaks some other 8250 clone with
        dodgy THRE.
      
      Signed-off-by: default avatarDick Hollenbeck <dick@softplc.com>
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Cc: Kees Schoenmakers <k.schoenmakers@sigmae.nl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      bca47613
  4. Feb 09, 2010
  5. Feb 07, 2010
  6. Feb 02, 2010
    • Richard Röjfors's avatar
      uartlite: fix crash when using as console · 03eac7bb
      Richard Röjfors authored
      
      Move the ulite_console_setup to the .devinit section since it might be
      called on probe, which is in devinit.  Fixes the crash below where the
      uartlite hw is probed after the .init section is freed from the kernel.
      
      uartlite: ttyUL0 at MMIO 0xc8000100 (irq = 30) is a uartlite
      BUG: unable to handle kernel NULL pointer dereference at (null)
      IP: [<c176720e>] ulite_console_setup+0x6f/0xa8
      *pdpt = 0000000036fb0001 *pde = 0000000000000000
      Oops: 0000 [#1] PREEMPT SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:1f.1/host0/uevent
      Modules linked in: puffin(+) serio_raw
      
      Pid: 151, comm: modprobe Not tainted (2.6.31.5-1.0.b1-b1 #1) POULSBO
      EIP: 0060:[<c176720e>] EFLAGS: 00010246 CPU: 0
      EIP is at ulite_console_setup+0x6f/0xa8
      EAX: c16ec824 EBX: c16ec824 ECX: c176719f EDX: 00000000
      ESI: 00000000 EDI: c17b42c4 EBP: f6fd1cf0 ESP: f6fd1cd8
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      Process modprobe (pid: 151, ti=f6fd0000 task=f6fa1020 task.ti=f6fd0000)
      Stack:
       c1031f51 00000000 00000000 00000246 c182237c f7742000 f6fd1d5c c11fd316
      <0> c16ec85c f77420d4 0000001e 00000000 00000000 c1633e78 4f494d4d 63783020
      <0> 30303038 00303031 f6fd1d3c c10e0786 f6fd1d48 00000000 f6fd1d48 00000000
      Call Trace:
       [<c1031f51>] ? register_console+0xf6/0x1fc
       [<c11fd316>] ? uart_add_one_port+0x237/0x2bb
       [<c10e0786>] ? sysfs_add_one+0x13/0xd3
       [<c10e142f>] ? sysfs_do_create_link+0xba/0xfc
       [<c146f200>] ? ulite_probe+0x198/0x1eb
       [<c12064ee>] ? platform_drv_probe+0xc/0xe
       [<c120597b>] ? driver_probe_device+0x79/0x105
       [<c1205a8e>] ? __device_attach+0x28/0x30
       [<c120511f>] ? bus_for_each_drv+0x3d/0x67
       [<c1205af9>] ? device_attach+0x44/0x58
       [<c1205a66>] ? __device_attach+0x0/0x30
       [<c1204fb8>] ? bus_probe_device+0x1f/0x34
       [<c1203e68>] ? device_add+0x385/0x4c0
       [<c148491f>] ? _write_unlock+0x8/0x1f
       [<c1206aac>] ? platform_device_add+0xd9/0x11c
       [<c120c685>] ? mfd_add_devices+0x165/0x1bc
       [<f831b378>] ? puffin_probe+0x2d0/0x390 [puffin]
       [<c11a08ef>] ? pci_match_device+0xa0/0xa7
       [<c11a07bc>] ? local_pci_probe+0xe/0x10
       [<c11a11db>] ? pci_device_probe+0x43/0x66
       [<c120597b>] ? driver_probe_device+0x79/0x105
       [<c1205a4a>] ? __driver_attach+0x43/0x5f
       [<c120535d>] ? bus_for_each_dev+0x3d/0x67
       [<c1205852>] ? driver_attach+0x14/0x16
       [<c1205a07>] ? __driver_attach+0x0/0x5f
       [<c1204dea>] ? bus_add_driver+0xf9/0x220
       [<c1205c8f>] ? driver_register+0x8b/0xeb
       [<c11a1518>] ? __pci_register_driver+0x43/0x9f
       [<c10477ef>] ? __blocking_notifier_call_chain+0x40/0x4c
       [<f831f000>] ? puffin_init+0x0/0x48 [puffin]
       [<f831f017>] ? puffin_init+0x17/0x48 [puffin]
       [<c1001139>] ? do_one_initcall+0x4c/0x131
       [<c105607b>] ? sys_init_module+0xa7/0x1b7
       [<c1002a61>] ? syscall_call+0x7/0xb
       Code: 6e 74 00 00 00 92 33 00 00 18 00 0e 01 73 79 6e 63 65 2d 72 65 67 69 73 74 72 79 0c 00 49 32
      00 00 14 00 09 01 61 6c 73 61 2d 69 <6e> 66 6f 00 00 00 42 37 00 00 10 00 07 01 6b 69 6c 6c 61 6c 6c
      EIP: [<c176720e>] ulite_console_setup+0x6f/0xa8 SS:ESP 0068:f6fd1cd8
      CR2: 0000000000000000
      
      Signed-off-by: default avatarRichard Röjfors <richard.rojfors@pelagicore.com>
      Acked-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      03eac7bb
  7. Jan 23, 2010
  8. Jan 20, 2010
  9. Jan 16, 2010
  10. Jan 14, 2010
  11. Jan 11, 2010
  12. Jan 06, 2010
  13. Dec 23, 2009
  14. Dec 15, 2009
  15. Dec 14, 2009
  16. Dec 11, 2009
Loading