<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/tty, branch v3.5.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/tty?h=v3.5.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/tty?h=v3.5.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-10-02T17:39:49Z</updated>
<entry>
<title>pch_uart: Add eg20t_port lock field, avoid recursive spinlocks</title>
<updated>2012-10-02T17:39:49Z</updated>
<author>
<name>Darren Hart</name>
<email>dvhart@linux.intel.com</email>
</author>
<published>2012-06-19T21:00:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a93689e1da5687e462363fde567e9b7abd570124'/>
<id>urn:sha1:a93689e1da5687e462363fde567e9b7abd570124</id>
<content type='text'>
commit 2588aba002d14e938c2f56d299ecf3e7ce1302a5 upstream.

pch_uart_interrupt() takes priv-&gt;port.lock which leads to two recursive
spinlock calls if low_latency==1 or CONFIG_PREEMPT_RT_FULL=y (one
otherwise):

pch_uart_interrupt
  spin_lock_irqsave(priv-&gt;port.lock, flags)
  case PCH_UART_IID_RDR_TO (data ready)
  handle_rx_to
    push_rx
      tty_port_tty_get
        spin_lock_irqsave(&amp;port-&gt;lock, flags) &lt;--- already hold this lock
        ...
      tty_flip_buffer_push
        ...
        flush_to_ldisc
          spin_lock_irqsave(&amp;tty-&gt;buf.lock)
            spin_lock_irqsave(&amp;tty-&gt;buf.lock)
            disc-&gt;ops-&gt;receive_buf(tty, char_buf)
              n_tty_receive_buf
                tty-&gt;ops-&gt;flush_chars()
                uart_flush_chars
                  uart_start
                    spin_lock_irqsave(&amp;port-&gt;lock) &lt;--- already hold this lock

Avoid this by using a dedicated lock to protect the eg20t_port structure
and IO access to its membase. This is more consistent with the 8250
driver.  Ensure priv-&gt;lock is always take prior to priv-&gt;port.lock when
taken at the same time.

V2: Remove inadvertent whitespace change.
V3: Account for oops_in_progress for the private lock in
    pch_console_write().

Note: Like the 8250 driver, if a printk is introduced anywhere inside
      the pch_console_write() critical section, the kernel will hang
      on a recursive spinlock on the private lock. The oops case is
      handled by using a trylock in the oops_in_progress case.

Signed-off-by: Darren Hart &lt;dvhart@linux.intel.com&gt;
CC: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
CC: Feng Tang &lt;feng.tang@intel.com&gt;
CC: Alexander Stein &lt;alexander.stein@systec-electronic.com&gt;
Acked-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pch_uart: Fix parity setting issue</title>
<updated>2012-10-02T17:39:48Z</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya.rohm@gmail.com</email>
</author>
<published>2012-07-06T08:19:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=774093a4f9b16c74f3ffb264314a798528786ff6'/>
<id>urn:sha1:774093a4f9b16c74f3ffb264314a798528786ff6</id>
<content type='text'>
commit 38bd2a1ac736901d1cf4971c78ef952ba92ef78b upstream.

Parity Setting value is reverse.
E.G. In case of setting ODD parity, EVEN value is set.
This patch inverts "if" condition.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Acked-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pch_uart: Fix rx error interrupt setting issue</title>
<updated>2012-10-02T17:39:48Z</updated>
<author>
<name>Tomoya MORINAGA</name>
<email>tomoya.rohm@gmail.com</email>
</author>
<published>2012-07-06T08:19:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=775436806eb348affdc7693341b0f23ed8147ebd'/>
<id>urn:sha1:775436806eb348affdc7693341b0f23ed8147ebd</id>
<content type='text'>
commit 9539dfb7ac1c84522fe1f79bb7dac2990f3de44a upstream.

Rx Error interrupt(E.G. parity error) is not enabled.
So, when parity error occurs, error interrupt is not occurred.
As a result, the received data is not dropped.

This patch adds enable/disable rx error interrupt code.

Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Acked-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pch_uart: Fix missing break for 16 byte fifo</title>
<updated>2012-10-02T17:39:48Z</updated>
<author>
<name>Alan Cox</name>
<email>alan@linux.intel.com</email>
</author>
<published>2012-07-02T17:51:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ca6be9203a58f70e7489e14ff8a5af162276b049'/>
<id>urn:sha1:ca6be9203a58f70e7489e14ff8a5af162276b049</id>
<content type='text'>
commit 9bc03743fff0770dc5a5324ba92e67cc377f16ca upstream.

Otherwise we fall back to the wrong value.

Reported-by: &lt;dcb314@hotmail.com&gt;
Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=44091
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Tomoya MORINAGA &lt;tomoya.rohm@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: serial: imx: don't reinit clock in imx_setup_ufcr()</title>
<updated>2012-10-02T17:39:39Z</updated>
<author>
<name>Dirk Behme</name>
<email>dirk.behme@de.bosch.com</email>
</author>
<published>2012-08-31T08:02:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=19aaa209bfd9f6afbad8605e891f1aaf727c31ca'/>
<id>urn:sha1:19aaa209bfd9f6afbad8605e891f1aaf727c31ca</id>
<content type='text'>
commit 7be0670f7b9198382938a03ff3db7f47ef6b4780 upstream.

Remove the clock configuration from imx_setup_ufcr(). This
isn't needed here and will cause garbage output if done.

To be be sure that we only touch the bits we want (TXTL and RXTL)
we have to mask out all other bits of the UFCR register. Add
one non-existing bit macro for this, too (bit 6, DCEDTE on i.MX6).

Signed-off-by: Dirk Behme &lt;dirk.behme@de.bosch.com&gt;
CC: Shawn Guo &lt;shawn.guo@linaro.org&gt;
CC: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
CC: Troy Kisky &lt;troy.kisky@boundarydevices.com&gt;
CC: Xinyu Chen &lt;xinyu.chen@freescale.com&gt;
Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty: serial: imx: console write routing is unsafe on SMP</title>
<updated>2012-10-02T17:39:39Z</updated>
<author>
<name>Xinyu Chen</name>
<email>xinyu.chen@freescale.com</email>
</author>
<published>2012-08-27T07:36:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=34d4dda865d8174f4a437f313c457c42a8fa9535'/>
<id>urn:sha1:34d4dda865d8174f4a437f313c457c42a8fa9535</id>
<content type='text'>
commit 9ec1882df244c4ee1baa692676fef5e8b0f5487d upstream.

The console feature's write routing is unsafe on SMP with
the startup/shutdown call.

There could be several consumers of the console
* the kernel printk
* the init process using /dev/kmsg to call printk to show log
* shell, which open /dev/console and write with sys_write()

The shell goes into the normal uart open/write routing,
but the other two go into the console operations.
The open routing calls imx serial startup, which will write USR1/2
register without any lock and critical with imx_console_write call.

Add a spin_lock for startup/shutdown/console_write routing.

This patch is a port from Freescale's Android kernel.

Signed-off-by: Xinyu Chen &lt;xinyu.chen@freescale.com&gt;
Tested-by: Dirk Behme &lt;dirk.behme@de.bosch.com&gt;
CC: Sascha Hauer &lt;s.hauer@pengutronix.de&gt;
Acked-by: Shawn Guo &lt;shawn.guo@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pmac_zilog,kdb: Fix console poll hook to return instead of loop</title>
<updated>2012-08-26T02:31:45Z</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2012-08-12T12:16:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=09e0ef11ee0328f1f3c9c47c15347c867994dd9b'/>
<id>urn:sha1:09e0ef11ee0328f1f3c9c47c15347c867994dd9b</id>
<content type='text'>
commit 38f8eefccf3a23c4058a570fa2938a4f553cf8e0 upstream.

kdb &lt;-&gt; kgdb transitioning does not work properly with this UART
driver because the get character routine loops indefinitely as opposed
to returning NO_POLL_CHAR per the expectation of the KDB I/O driver
API.

The symptom is a kernel hang when trying to switch debug modes.

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Cc: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>tty/hvc_opal: Fix debug function name</title>
<updated>2012-07-10T09:16:25Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2012-07-04T05:51:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=50fb31cfed9218b439360caf7c0399b00042da15'/>
<id>urn:sha1:50fb31cfed9218b439360caf7c0399b00042da15</id>
<content type='text'>
udbg_init_debug_opal() should be udbg_init_debug_opal_raw() as
the caller in arch/powerpc/kernel/udbg.c expects

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'tty-3.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty</title>
<updated>2012-06-20T22:13:13Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-06-20T22:13:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a1821f774d4600727edf71005f259a9fdb73981e'/>
<id>urn:sha1:a1821f774d4600727edf71005f259a9fdb73981e</id>
<content type='text'>
Pull serial driver fixes from Greg Kroah-Hartman:
 "Here are 3 patches resolving a boot regression (the mop500 fix), a
  build warning fix, and a kernel-doc fix.  All tiny, but should go into
  the final 3.5 release.

  Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;"

* tag 'tty-3.5-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  serial/amba-pl011: move custom pin control to driver
  serial: fix serial_txx9.c build warning/typo
  serial: fix kernel-doc warnings in 8250.c
</content>
</entry>
<entry>
<title>Merge tag 'stable/for-linus-3.5-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen</title>
<updated>2012-06-16T00:17:15Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-06-16T00:17:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=069915b94642b05c9b45fee36862157026b36614'/>
<id>urn:sha1:069915b94642b05c9b45fee36862157026b36614</id>
<content type='text'>
Pull five Xen bug-fixes from Konrad Rzeszutek Wilk:

 - When booting as PVHVM we would try to use PV console - but would not validate
   the parameters causing us to crash during restore b/c we re-use the wrong event
   channel.
 - When booting on machines with SR-IOV PCI bridge we didn't check for the bridge
   and tried to use it.
 - Under AMD machines would advertise the APERFMPERF resulting in needless amount
   of MSRs from the guest.
 - A global value (xen_released_pages) was not subtracted at bootup when pages
   were added back in. This resulted in the balloon worker having the wrong
   account of how many pages were truly released.
 - Fix dead-lock when xen-blkfront is run in the same domain as xen-blkback.

* tag 'stable/for-linus-3.5-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen: mark local pages as FOREIGN in the m2p_override
  xen/setup: filter APERFMPERF cpuid feature out
  xen/balloon: Subtract from xen_released_pages the count that is populated.
  xen/pci: Check for PCI bridge before using it.
  xen/events: Add WARN_ON when quick lookup found invalid type.
  xen/hvc: Check HVM_PARAM_CONSOLE_[EVTCHN|PFN] for correctness.
  xen/hvc: Fix error cases around HVM_PARAM_CONSOLE_PFN
  xen/hvc: Collapse error logic.
</content>
</entry>
</feed>
