<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/char, branch v2.6.16.42</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>read_zero_pagealigned() locking fix</title>
<updated>2007-01-23T15:46:22+00:00</updated>
<author>
<name>Hugh Dickins</name>
<email>hugh@veritas.com</email>
</author>
<published>2007-01-23T15:46:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=faa309e7b921b2104a42d4ac0e0122f3399a3789'/>
<id>faa309e7b921b2104a42d4ac0e0122f3399a3789</id>
<content type='text'>
Ramiro Voicu hits the BUG_ON(!pte_none(*pte)) in zeromap_pte_range: kernel
bugzilla 7645.  Right: read_zero_pagealigned uses down_read of mmap_sem,
but another thread's racing read of /dev/zero, or a normal fault, can
easily set that pte again, in between zap_page_range and zeromap_page_range
getting there.  It's been wrong ever since 2.4.3.

The simple fix is to use down_write instead, but that would serialize reads
of /dev/zero more than at present: perhaps some app would be badly
affected.  So instead let zeromap_page_range return the error instead of
BUG_ON, and read_zero_pagealigned break to the slower clear_user loop in
that case - there's no need to optimize for it.

Use -EEXIST for when a pte is found: BUG_ON in mmap_zero (the other user of
zeromap_page_range), though it really isn't interesting there.  And since
mmap_zero wants -EAGAIN for out-of-memory, the zeromaps better return that
than -ENOMEM.

Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ramiro Voicu hits the BUG_ON(!pte_none(*pte)) in zeromap_pte_range: kernel
bugzilla 7645.  Right: read_zero_pagealigned uses down_read of mmap_sem,
but another thread's racing read of /dev/zero, or a normal fault, can
easily set that pte again, in between zap_page_range and zeromap_page_range
getting there.  It's been wrong ever since 2.4.3.

The simple fix is to use down_write instead, but that would serialize reads
of /dev/zero more than at present: perhaps some app would be badly
affected.  So instead let zeromap_page_range return the error instead of
BUG_ON, and read_zero_pagealigned break to the slower clear_user loop in
that case - there's no need to optimize for it.

Use -EEXIST for when a pte is found: BUG_ON in mmap_zero (the other user of
zeromap_page_range), though it really isn't interesting there.  And since
mmap_zero wants -EAGAIN for out-of-memory, the zeromaps better return that
than -ENOMEM.

Signed-off-by: Hugh Dickins &lt;hugh@veritas.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rtc: lockdep fix/workaround</title>
<updated>2007-01-09T02:23:35+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2007-01-08T08:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=80d0613d3f7076e5c478999f309d12d6ba46a220'/>
<id>80d0613d3f7076e5c478999f309d12d6ba46a220</id>
<content type='text'>
BUG: warning at kernel/lockdep.c:1816/trace_hardirqs_on() (Not tainted)
 [&lt;c04051ee&gt;] show_trace_log_lvl+0x58/0x171
 [&lt;c0405802&gt;] show_trace+0xd/0x10
 [&lt;c040591b&gt;] dump_stack+0x19/0x1b
 [&lt;c043abee&gt;] trace_hardirqs_on+0xa2/0x11e
 [&lt;c06143c3&gt;] _spin_unlock_irq+0x22/0x26
 [&lt;c0541540&gt;] rtc_get_rtc_time+0x32/0x176
 [&lt;c0419ba4&gt;] hpet_rtc_interrupt+0x92/0x14d
 [&lt;c0450f94&gt;] handle_IRQ_event+0x20/0x4d
 [&lt;c0451055&gt;] __do_IRQ+0x94/0xef
 [&lt;c040678d&gt;] do_IRQ+0x9e/0xbd
 [&lt;c0404a49&gt;] common_interrupt+0x25/0x2c
DWARF2 unwinder stuck at common_interrupt+0x25/0x2c

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BUG: warning at kernel/lockdep.c:1816/trace_hardirqs_on() (Not tainted)
 [&lt;c04051ee&gt;] show_trace_log_lvl+0x58/0x171
 [&lt;c0405802&gt;] show_trace+0xd/0x10
 [&lt;c040591b&gt;] dump_stack+0x19/0x1b
 [&lt;c043abee&gt;] trace_hardirqs_on+0xa2/0x11e
 [&lt;c06143c3&gt;] _spin_unlock_irq+0x22/0x26
 [&lt;c0541540&gt;] rtc_get_rtc_time+0x32/0x176
 [&lt;c0419ba4&gt;] hpet_rtc_interrupt+0x92/0x14d
 [&lt;c0450f94&gt;] handle_IRQ_event+0x20/0x4d
 [&lt;c0451055&gt;] __do_IRQ+0x94/0xef
 [&lt;c040678d&gt;] do_IRQ+0x9e/0xbd
 [&lt;c0404a49&gt;] common_interrupt+0x25/0x2c
DWARF2 unwinder stuck at common_interrupt+0x25/0x2c

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rio: typo in bitwise AND expression.</title>
<updated>2007-01-09T02:23:31+00:00</updated>
<author>
<name>Willy Tarreau</name>
<email>w@1wt.eu</email>
</author>
<published>2007-01-06T01:31:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=152ecd2726ff526aabf7510b379a1a8ffb05d3ec'/>
<id>152ecd2726ff526aabf7510b379a1a8ffb05d3ec</id>
<content type='text'>
The line:

    hp-&gt;Mode &amp;= !RIO_PCI_INT_ENABLE;

is obviously wrong as RIO_PCI_INT_ENABLE=0x04 and is used as a bitmask
2 lines before. Getting no IRQ would not disable RIO_PCI_INT_ENABLE
but rather RIO_PCI_BOOT_FROM_RAM which equals 0x01.

Obvious fix is to change ! for ~.

Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The line:

    hp-&gt;Mode &amp;= !RIO_PCI_INT_ENABLE;

is obviously wrong as RIO_PCI_INT_ENABLE=0x04 and is used as a bitmask
2 lines before. Getting no IRQ would not disable RIO_PCI_INT_ENABLE
but rather RIO_PCI_BOOT_FROM_RAM which equals 0x01.

Obvious fix is to change ! for ~.

Signed-off-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: allow detection of new VIA chipsets</title>
<updated>2007-01-09T02:23:31+00:00</updated>
<author>
<name>Chuck Short</name>
<email>zulcss@gmail.com</email>
</author>
<published>2007-01-06T00:22:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c6b135f0b02f2104475ce279ac3cb7442419cd2a'/>
<id>c6b135f0b02f2104475ce279ac3cb7442419cd2a</id>
<content type='text'>
Update pci ids.

Signed-off-by: Chuck Short &lt;zulcss@gmail.com&gt;
Signed-off-by: Ben Collins &lt;bcollins@ubuntu.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update pci ids.

Signed-off-by: Chuck Short &lt;zulcss@gmail.com&gt;
Signed-off-by: Ben Collins &lt;bcollins@ubuntu.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drm: Add the P4VM800PRO PCI ID.</title>
<updated>2007-01-09T02:23:31+00:00</updated>
<author>
<name>Dave Airlie</name>
<email>airlied@linux.ie</email>
</author>
<published>2007-01-06T00:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c302289dadbc28fa0dbea3d05a5830200131adc9'/>
<id>c302289dadbc28fa0dbea3d05a5830200131adc9</id>
<content type='text'>
Signed-off-by: Dave Airlie &lt;airlied@linux.ie&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Dave Airlie &lt;airlied@linux.ie&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hvc_console suspend fix</title>
<updated>2006-12-17T23:39:11+00:00</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2006-12-17T23:39:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=17735bd9822900d82278842f6bbe7a0e1c64c3b1'/>
<id>17735bd9822900d82278842f6bbe7a0e1c64c3b1</id>
<content type='text'>
Fix http://bugzilla.kernel.org/show_bug.cgi?id=7152

Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix http://bugzilla.kernel.org/show_bug.cgi?id=7152

Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[WATCHDOG] sc1200wdt.c pnp unregister fix.</title>
<updated>2006-12-17T23:23:42+00:00</updated>
<author>
<name>Akinobu Mita</name>
<email>akinobu.mita@gmail.com</email>
</author>
<published>2006-12-17T23:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8132c7a57ae81db8f680ed4ef07a1a32fd5ee129'/>
<id>8132c7a57ae81db8f680ed4ef07a1a32fd5ee129</id>
<content type='text'>
If no devices found or invalid parameter is specified,
scl200wdt_pnp_driver is left unregistered.
It breaks global list of pnp drivers.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If no devices found or invalid parameter is specified,
scl200wdt_pnp_driver is left unregistered.
It breaks global list of pnp drivers.

Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[WATCHDOG] sc1200wdt.c printk fix</title>
<updated>2006-12-17T23:13:47+00:00</updated>
<author>
<name>Dave Jones</name>
<email>davej@redhat.com</email>
</author>
<published>2006-12-17T23:13:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=18d16ac9bb3d73a8b1027fdf33e8dbc3cc592982'/>
<id>18d16ac9bb3d73a8b1027fdf33e8dbc3cc592982</id>
<content type='text'>
Fix printk output.

sc1200wdt: build 20020303&lt;3&gt;sc1200wdt: io parameter must be specified

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix printk output.

sc1200wdt: build 20020303&lt;3&gt;sc1200wdt: io parameter must be specified

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>AGP: Allocate AGP pages with GFP_DMA32 by default</title>
<updated>2006-12-15T00:56:30+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@osdl.org</email>
</author>
<published>2006-12-15T00:56:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dcc6e343ff0463b005ca0488be90b8d0025de3e4'/>
<id>dcc6e343ff0463b005ca0488be90b8d0025de3e4</id>
<content type='text'>
Not all graphic page remappers support physical addresses over the 4GB
mark for remapping, so while some do (the AMD64 GART always did, and I
just fixed the i965 to do so properly), we're safest off just forcing
GFP_DMA32 allocations to make sure graphics pages get allocated in the
low 32-bit address space by default.

AGP sub-drivers that really care, and can do better, could just choose
to implement their own allocator (or we could add another "64-bit safe"
default allocator for their use), but quite frankly, you're not likely
to care in practice.

So for now, this trivial change means that we won't be allocating pages
that we can't map correctly by mistake on x86-64.

[ On traditional 32-bit x86, this could never happen, because GFP_KERNEL
  would never allocate any highmem memory anyway ]

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not all graphic page remappers support physical addresses over the 4GB
mark for remapping, so while some do (the AMD64 GART always did, and I
just fixed the i965 to do so properly), we're safest off just forcing
GFP_DMA32 allocations to make sure graphics pages get allocated in the
low 32-bit address space by default.

AGP sub-drivers that really care, and can do better, could just choose
to implement their own allocator (or we could add another "64-bit safe"
default allocator for their use), but quite frankly, you're not likely
to care in practice.

So for now, this trivial change means that we won't be allocating pages
that we can't map correctly by mistake on x86-64.

[ On traditional 32-bit x86, this could never happen, because GFP_KERNEL
  would never allocate any highmem memory anyway ]

Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Char: isicom, fix close bug</title>
<updated>2006-12-04T13:06:36+00:00</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2006-12-04T13:06:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=407e973fcc4bf33964851f2f01817c1958479868'/>
<id>407e973fcc4bf33964851f2f01817c1958479868</id>
<content type='text'>
port is dereferenced even if it is NULL.  Dereference it _after_ the
check if (!port)...  Thanks Eric &lt;ef87@yahoo.com&gt; for reporting this.

This fixes

        http://bugzilla.kernel.org/show_bug.cgi?id=7527

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
port is dereferenced even if it is NULL.  Dereference it _after_ the
check if (!port)...  Thanks Eric &lt;ef87@yahoo.com&gt; for reporting this.

This fixes

        http://bugzilla.kernel.org/show_bug.cgi?id=7527

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
