<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/char/esp.c, branch v2.6.28</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.28</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v2.6.28'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2008-07-22T20:03:28+00:00</updated>
<entry>
<title>tty: rework break handling</title>
<updated>2008-07-22T20:03:28+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@redhat.com</email>
</author>
<published>2008-07-22T10:18:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9e98966c7bb94355689478bc84cc3e0c190f977e'/>
<id>urn:sha1:9e98966c7bb94355689478bc84cc3e0c190f977e</id>
<content type='text'>
Some hardware needs to do break handling itself and may have partial
support only. Make break_ctl return an error code. Add a tty driver flag
so you can indicate driver hardware side break support.

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>esp: use tty_port</title>
<updated>2008-07-21T00:12:36+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@redhat.com</email>
</author>
<published>2008-07-16T20:55:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4982d6b37a5ccebe6c2af79970c7a15c1939243a'/>
<id>urn:sha1:4982d6b37a5ccebe6c2af79970c7a15c1939243a</id>
<content type='text'>
Switch esp to use the new tty_port structures

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/char: replace remaining __FUNCTION__ occurrences</title>
<updated>2008-04-30T15:29:54+00:00</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-04-30T07:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=bf9d89295233ae2ba7b312c78ee5657307b09f4c'/>
<id>urn:sha1:bf9d89295233ae2ba7b312c78ee5657307b09f4c</id>
<content type='text'>
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>esp: clean up to modern coding style</title>
<updated>2008-04-30T15:29:47+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@lxorguk.ukuu.org.uk</email>
</author>
<published>2008-04-30T07:54:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fb100b6ea7bf8a95e52b90cc0dc0ea5744a0a40a'/>
<id>urn:sha1:fb100b6ea7bf8a95e52b90cc0dc0ea5744a0a40a</id>
<content type='text'>
Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>char: switch gs, cyclades and esp to return int for put_char</title>
<updated>2008-04-30T15:29:45+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@lxorguk.ukuu.org.uk</email>
</author>
<published>2008-04-30T07:54:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=76b25a5509bbafdbfc7d7d6b41a3c64947d59360'/>
<id>urn:sha1:76b25a5509bbafdbfc7d7d6b41a3c64947d59360</id>
<content type='text'>
Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>tty/serial: lay the foundations for the next set of reworks</title>
<updated>2008-04-30T15:29:45+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@lxorguk.ukuu.org.uk</email>
</author>
<published>2008-04-30T07:53:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=978e595f88a1fba5869aa42a4af4fba36f33ecac'/>
<id>urn:sha1:978e595f88a1fba5869aa42a4af4fba36f33ecac</id>
<content type='text'>
- Stop drivers calling their own flush method indirectly, it obfuscates code
  and it will change soon anyway

- A few more lock_kernel paths temporarily needed in some driver internal
  waiting code

- Remove private put_char method that does a write call for one char - we
  have that anyway

- Most but not yet all of the termios copy under lock fixing (some has other
  dependencies to follow)

- Note a few locking bugs in drivers found in the process

- Kill remaining [ab]users of TIOCG/SSOFTCAR in the driver, these must go to
  fix the termios locking

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>char: esp.c: fix possible double-unlock</title>
<updated>2008-04-30T15:29:44+00:00</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-04-30T07:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d3ceb6562bfbe8f27fa32d1e24eea0e2d4de0347'/>
<id>urn:sha1:d3ceb6562bfbe8f27fa32d1e24eea0e2d4de0347</id>
<content type='text'>
Hitting either of the break statements in the while loop would cause a
double-unlock of info-&gt;lock.

[Jiri Slaby suggested simply returning is safe here, rather than a goto]

Noticed by sparse:
drivers/char/esp.c:2042:2: warning: context imbalance in 'rs_wait_until_sent' - unexpected unlock

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>char: fix sparse shadowed variable warnings in esp.c</title>
<updated>2008-04-30T15:29:44+00:00</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-04-30T07:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f5592268a5aa5e02f36f396de47c94a1506e3678'/>
<id>urn:sha1:f5592268a5aa5e02f36f396de47c94a1506e3678</id>
<content type='text'>
flags only use was in spin_lock_irqsave/spin_lock_irgrestore pairs, no
need to redeclare for each one.

drivers/char/esp.c:1599:17: warning: symbol 'flags' shadows an earlier one
drivers/char/esp.c:1517:16: originally declared here
drivers/char/esp.c:1615:17: warning: symbol 'flags' shadows an earlier one
drivers/char/esp.c:1517:16: originally declared here
drivers/char/esp.c:1631:17: warning: symbol 'flags' shadows an earlier one
drivers/char/esp.c:1517:16: originally declared here

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>esp: lock_kernel push down</title>
<updated>2008-04-30T15:29:39+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@lxorguk.ukuu.org.uk</email>
</author>
<published>2008-04-30T07:53:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5a4bc8c1bde7bcb7f02950764e37e9d6bbdb3e32'/>
<id>urn:sha1:5a4bc8c1bde7bcb7f02950764e37e9d6bbdb3e32</id>
<content type='text'>
Push the BKL down into a few internal bits of code in this driver.

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drivers/char/esp.c: fix bootup lockup</title>
<updated>2008-03-07T18:05:13+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2008-03-07T09:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=80d38f9a7871d9bafc3f244dabe48b41a58de705'/>
<id>urn:sha1:80d38f9a7871d9bafc3f244dabe48b41a58de705</id>
<content type='text'>
randconfig testing found a bootup lockup in drivers/char/esp.c because
of a spinlock that wasn't correctly initialized.

I'm not sure why it became more prominent in 2.6.25-rc4, the bug seems
rather old and i've been doing allyesconfig bootups for ages with
CONFIG_ESP enabled.

This fixes this bootup lockup:

 PM: Adding info for No Bus:ttyP63
 ttyP32 at 0x0240 (irq = 0) is an ESP primary port
 BUG: spinlock lockup on CPU#0, swapper/1, f56dd004
 Pid: 1, comm: swapper Not tainted 2.6.25-rc4-sched-devel.git-x86-latest.git #402 [&lt;c03ac6f4&gt;] _raw_spin_lock+0x134/0x140
  [&lt;c08649be&gt;] _spin_lock_irqsave+0x5e/0x80
  [&lt;c0b9fbfe&gt;] ? espserial_init+0x2be/0x6e0
  [&lt;c0b9fbfe&gt;] espserial_init+0x2be/0x6e0
  [&lt;c0b877a3&gt;] kernel_init+0x83/0x260
  [&lt;c0b9f940&gt;] ? espserial_init+0x0/0x6e0
  [&lt;c010416a&gt;] ? restore_nocheck_notrace+0x0/0xe
  [&lt;c0b87720&gt;] ? kernel_init+0x0/0x260
  [&lt;c0b87720&gt;] ? kernel_init+0x0/0x260
  [&lt;c0104507&gt;] kernel_thread_helper+0x7/0x10
  =======================

kzalloc() is not the way to initialize spinlocks anymore.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
