<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/ide, branch v2.6.36.4</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>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6</title>
<updated>2010-09-19T18:06:34+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-09-19T18:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=81cef8e38babd1dd07eb53fccc956620a1b4f32e'/>
<id>81cef8e38babd1dd07eb53fccc956620a1b4f32e</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
  ide: Fix ordering of procfs registry.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
  ide: Fix ordering of procfs registry.
</pre>
</div>
</content>
</entry>
<entry>
<title>ide: Fix ordering of procfs registry.</title>
<updated>2010-09-14T04:34:25+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>w.sang@pengutronix.de</email>
</author>
<published>2010-09-02T11:28:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dbee032295dac88742734ee9988e08a0e4f2f732'/>
<id>dbee032295dac88742734ee9988e08a0e4f2f732</id>
<content type='text'>
We must ensure that ide_proc_port_register_devices() occurs on an
interface before ide_proc_register_driver() executes for that
interfaces drives.

Therefore defer the registry of the driver device objects backed by
ide_bus_type until after ide_proc_port_register_devices() has run
and thus all of the drive-&gt;proc procfs directory pointers have been
setup.

Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We must ensure that ide_proc_port_register_devices() occurs on an
interface before ide_proc_register_driver() executes for that
interfaces drives.

Therefore defer the registry of the driver device objects backed by
ide_bus_type until after ide_proc_port_register_devices() has run
and thus all of the drive-&gt;proc procfs directory pointers have been
setup.

Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ide: use module_param_named rather than module_param_call</title>
<updated>2010-08-11T13:34:39+00:00</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2010-08-12T05:04:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1a8bff5b404909436fcf03cac167a76ceaaa5547'/>
<id>1a8bff5b404909436fcf03cac167a76ceaaa5547</id>
<content type='text'>
It has the additional benefit of typechecking (in this case, an unsigned int).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Reviewed-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It has the additional benefit of typechecking (in this case, an unsigned int).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Reviewed-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block</title>
<updated>2010-08-10T22:22:42+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-08-10T22:22:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2f9e825d3e0e2b407ae8f082de5c00afcf7378fb'/>
<id>2f9e825d3e0e2b407ae8f082de5c00afcf7378fb</id>
<content type='text'>
* 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
  block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
  xen-blkfront: fix missing out label
  blkdev: fix blkdev_issue_zeroout return value
  block: update request stacking methods to support discards
  block: fix missing export of blk_types.h
  writeback: fix bad _bh spinlock nesting
  drbd: revert "delay probes", feature is being re-implemented differently
  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
  drbd: Disable delay probes for the upcomming release
  writeback: cleanup bdi_register
  writeback: add new tracepoints
  writeback: remove unnecessary init_timer call
  writeback: optimize periodic bdi thread wakeups
  writeback: prevent unnecessary bdi threads wakeups
  writeback: move bdi threads exiting logic to the forker thread
  writeback: restructure bdi forker loop a little
  writeback: move last_active to bdi
  writeback: do not remove bdi from bdi_list
  writeback: simplify bdi code a little
  writeback: do not lose wake-ups in bdi threads
  ...

Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
drivers/scsi/scsi_error.c as per Jens.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
  block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
  xen-blkfront: fix missing out label
  blkdev: fix blkdev_issue_zeroout return value
  block: update request stacking methods to support discards
  block: fix missing export of blk_types.h
  writeback: fix bad _bh spinlock nesting
  drbd: revert "delay probes", feature is being re-implemented differently
  drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
  drbd: Disable delay probes for the upcomming release
  writeback: cleanup bdi_register
  writeback: add new tracepoints
  writeback: remove unnecessary init_timer call
  writeback: optimize periodic bdi thread wakeups
  writeback: prevent unnecessary bdi threads wakeups
  writeback: move bdi threads exiting logic to the forker thread
  writeback: restructure bdi forker loop a little
  writeback: move last_active to bdi
  writeback: do not remove bdi from bdi_list
  writeback: simplify bdi code a little
  writeback: do not lose wake-ups in bdi threads
  ...

Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
drivers/scsi/scsi_error.c as per Jens.
</pre>
</div>
</content>
</entry>
<entry>
<title>tx493xide: use min_t() macro instead of min()</title>
<updated>2010-08-09T10:17:55+00:00</updated>
<author>
<name>Atsushi Nemoto</name>
<email>anemo@mba.ocn.ne.jp</email>
</author>
<published>2010-06-04T23:19:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cd078af65d5c2f19c0f378062b07a0a79b000723'/>
<id>cd078af65d5c2f19c0f378062b07a0a79b000723</id>
<content type='text'>
This fixes a warning ("comparison of distinct pointer types lacks a
cast") introduced by the commit
040f6b4f14adb2ca5babb84e9fb2ebc6661e0be2 ("tx493xide: use -&gt;pio_mode
value to determine pair device speed").

Signed-off-by: Atsushi Nemoto &lt;anemo@mba.ocn.ne.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a warning ("comparison of distinct pointer types lacks a
cast") introduced by the commit
040f6b4f14adb2ca5babb84e9fb2ebc6661e0be2 ("tx493xide: use -&gt;pio_mode
value to determine pair device speed").

Signed-off-by: Atsushi Nemoto &lt;anemo@mba.ocn.ne.jp&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>drivers/ide: Use memdup_user</title>
<updated>2010-08-09T10:17:53+00:00</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2010-06-04T23:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7d543d8468348c44010c7b4e6fdd23a398779668'/>
<id>7d543d8468348c44010c7b4e6fdd23a398779668</id>
<content type='text'>
Use memdup_user when user data is immediately copied into the
allocated region.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
expression from,to,size,flag;
position p;
identifier l1,l2;
@@

-  to = \(kmalloc@p\|kzalloc@p\)(size,flag);
+  to = memdup_user(from,size);
   if (
-      to==NULL
+      IS_ERR(to)
                 || ...) {
   &lt;+... when != goto l1;
-  -ENOMEM
+  PTR_ERR(to)
   ...+&gt;
   }
-  if (copy_from_user(to, from, size) != 0) {
-    &lt;+... when != goto l2;
-    -EFAULT
-    ...+&gt;
-  }
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use memdup_user when user data is immediately copied into the
allocated region.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
expression from,to,size,flag;
position p;
identifier l1,l2;
@@

-  to = \(kmalloc@p\|kzalloc@p\)(size,flag);
+  to = memdup_user(from,size);
   if (
-      to==NULL
+      IS_ERR(to)
                 || ...) {
   &lt;+... when != goto l1;
-  -ENOMEM
+  PTR_ERR(to)
   ...+&gt;
   }
-  if (copy_from_user(to, from, size) != 0) {
-    &lt;+... when != goto l2;
-    -EFAULT
-    ...+&gt;
-  }
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>via82cxxx: fix typo for VT6415 PCIE PATA IDE Host Controller support.</title>
<updated>2010-08-09T10:17:51+00:00</updated>
<author>
<name>Yann Dirson</name>
<email>ydirson@altern.org</email>
</author>
<published>2010-07-18T23:11:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2a800b7bd926c739c07c1690579f03bbd6f1b5a3'/>
<id>2a800b7bd926c739c07c1690579f03bbd6f1b5a3</id>
<content type='text'>
Without this fix, init of the via82cxxx driver causes a oops with a
stack resembling the one below, and the boot blocks between init of
USB devices and launch of init (was easy to bisect by booting with
init=/bin/sh).

 Pid: 279, comm: work_for_cpu Not tainted 2.6.34.1-00003-ga42ea77 #2
 Call Trace:
  [&lt;ffffffff81045691&gt;] ? warn_slowpath_common+0x76/0x8c
  [&lt;ffffffff810456f9&gt;] ? warn_slowpath_fmt+0x40/0x45
  [&lt;ffffffff812eb5a1&gt;] ? printk+0x40/0x47
  [&lt;ffffffff8108e1fd&gt;] ? enable_irq+0x3e/0x64
  [&lt;ffffffffa0003900&gt;] ? ide_probe_port+0x55c/0x589 [ide_core]
  [&lt;ffffffffa0003f22&gt;] ? ide_host_register+0x273/0x628 [ide_core]
  [&lt;ffffffffa00083e3&gt;] ? ide_pci_init_two+0x4da/0x5c5 [ide_core]
  [&lt;ffffffff8106117e&gt;] ? up+0xe/0x36
  [&lt;ffffffff81045d7e&gt;] ? release_console_sem+0x17e/0x1ae
  [&lt;ffffffff812d945b&gt;] ? klist_iter_exit+0x14/0x1e
  [&lt;ffffffff8120ed23&gt;] ? bus_find_device+0x75/0x83
  [&lt;ffffffffa0022832&gt;] ? via_init_one+0x269/0x28a [via82cxxx]
  [&lt;ffffffffa00223a2&gt;] ? init_chipset_via82cxxx+0x0/0x1ea [via82cxxx]
  [&lt;ffffffff81059f25&gt;] ? do_work_for_cpu+0x0/0x1b
  [&lt;ffffffff81190c65&gt;] ? local_pci_probe+0x12/0x16
  [&lt;ffffffff81059f30&gt;] ? do_work_for_cpu+0xb/0x1b
  [&lt;ffffffff8105d0dd&gt;] ? kthread+0x75/0x7d
  [&lt;ffffffff810097e4&gt;] ? kernel_thread_helper+0x4/0x10
  [&lt;ffffffff8105d068&gt;] ? kthread+0x0/0x7d
  [&lt;ffffffff810097e0&gt;] ? kernel_thread_helper+0x0/0x10
 ---[ end trace 89c8cb70379b5bda ]---

The typo was introduced in a354ae8747d0687093ce244e76b15b6174d2f098,
and affects 2.6.33-rc4 and later.

Signed-off-by: Yann Dirson &lt;ydirson@altern.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without this fix, init of the via82cxxx driver causes a oops with a
stack resembling the one below, and the boot blocks between init of
USB devices and launch of init (was easy to bisect by booting with
init=/bin/sh).

 Pid: 279, comm: work_for_cpu Not tainted 2.6.34.1-00003-ga42ea77 #2
 Call Trace:
  [&lt;ffffffff81045691&gt;] ? warn_slowpath_common+0x76/0x8c
  [&lt;ffffffff810456f9&gt;] ? warn_slowpath_fmt+0x40/0x45
  [&lt;ffffffff812eb5a1&gt;] ? printk+0x40/0x47
  [&lt;ffffffff8108e1fd&gt;] ? enable_irq+0x3e/0x64
  [&lt;ffffffffa0003900&gt;] ? ide_probe_port+0x55c/0x589 [ide_core]
  [&lt;ffffffffa0003f22&gt;] ? ide_host_register+0x273/0x628 [ide_core]
  [&lt;ffffffffa00083e3&gt;] ? ide_pci_init_two+0x4da/0x5c5 [ide_core]
  [&lt;ffffffff8106117e&gt;] ? up+0xe/0x36
  [&lt;ffffffff81045d7e&gt;] ? release_console_sem+0x17e/0x1ae
  [&lt;ffffffff812d945b&gt;] ? klist_iter_exit+0x14/0x1e
  [&lt;ffffffff8120ed23&gt;] ? bus_find_device+0x75/0x83
  [&lt;ffffffffa0022832&gt;] ? via_init_one+0x269/0x28a [via82cxxx]
  [&lt;ffffffffa00223a2&gt;] ? init_chipset_via82cxxx+0x0/0x1ea [via82cxxx]
  [&lt;ffffffff81059f25&gt;] ? do_work_for_cpu+0x0/0x1b
  [&lt;ffffffff81190c65&gt;] ? local_pci_probe+0x12/0x16
  [&lt;ffffffff81059f30&gt;] ? do_work_for_cpu+0xb/0x1b
  [&lt;ffffffff8105d0dd&gt;] ? kthread+0x75/0x7d
  [&lt;ffffffff810097e4&gt;] ? kernel_thread_helper+0x4/0x10
  [&lt;ffffffff8105d068&gt;] ? kthread+0x0/0x7d
  [&lt;ffffffff810097e0&gt;] ? kernel_thread_helper+0x0/0x10
 ---[ end trace 89c8cb70379b5bda ]---

The typo was introduced in a354ae8747d0687093ce244e76b15b6174d2f098,
and affects 2.6.33-rc4 and later.

Signed-off-by: Yann Dirson &lt;ydirson@altern.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ide-cd: Do not access completed requests in the irq handler</title>
<updated>2010-08-09T10:17:49+00:00</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@alien8.de</email>
</author>
<published>2010-07-06T04:23:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=110712828365ccafcc61a7f4db44c31ed4cf8793'/>
<id>110712828365ccafcc61a7f4db44c31ed4cf8793</id>
<content type='text'>
ide_cd_error_cmd() can complete an erroneous request with leftover
buffers. Signal this with its return value so that the request is not
accessed after its completion in the irq handler and we oops.

Cc: &lt;stable@kernel.org&gt; # 32.x 33.x 34.x
Signed-off-by: Borislav Petkov &lt;bp@alien8.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ide_cd_error_cmd() can complete an erroneous request with leftover
buffers. Signal this with its return value so that the request is not
accessed after its completion in the irq handler and we oops.

Cc: &lt;stable@kernel.org&gt; # 32.x 33.x 34.x
Signed-off-by: Borislav Petkov &lt;bp@alien8.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>block: push down BKL into .open and .release</title>
<updated>2010-08-07T16:25:34+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2010-08-07T16:25:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6e9624b8caec290d28b4c6d9ec75749df6372b87'/>
<id>6e9624b8caec290d28b4c6d9ec75749df6372b87</id>
<content type='text'>
The open and release block_device_operations are currently
called with the BKL held. In order to change that, we must
first make sure that all drivers that currently rely
on this have no regressions.

This blindly pushes the BKL into all .open and .release
operations for all block drivers to prepare for the
next step. The drivers can subsequently replace the BKL
with their own locks or remove it completely when it can
be shown that it is not needed.

The functions blkdev_get and blkdev_put are the only
remaining users of the big kernel lock in the block
layer, besides a few uses in the ioctl code, none
of which need to serialize with blkdev_{get,put}.

Most of these two functions is also under the protection
of bdev-&gt;bd_mutex, including the actual calls to
-&gt;open and -&gt;release, and the common code does not
access any global data structures that need the BKL.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The open and release block_device_operations are currently
called with the BKL held. In order to change that, we must
first make sure that all drivers that currently rely
on this have no regressions.

This blindly pushes the BKL into all .open and .release
operations for all block drivers to prepare for the
next step. The drivers can subsequently replace the BKL
with their own locks or remove it completely when it can
be shown that it is not needed.

The functions blkdev_get and blkdev_put are the only
remaining users of the big kernel lock in the block
layer, besides a few uses in the ioctl code, none
of which need to serialize with blkdev_{get,put}.

Most of these two functions is also under the protection
of bdev-&gt;bd_mutex, including the actual calls to
-&gt;open and -&gt;release, and the common code does not
access any global data structures that need the BKL.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>block: push down BKL into .locked_ioctl</title>
<updated>2010-08-07T16:25:00+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2010-07-08T08:18:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8a6cfeb6deca3a8fefd639d898b0d163c0b5d368'/>
<id>8a6cfeb6deca3a8fefd639d898b0d163c0b5d368</id>
<content type='text'>
As a preparation for the removal of the big kernel
lock in the block layer, this removes the BKL
from the common ioctl handling code, moving it
into every single driver still using it.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a preparation for the removal of the big kernel
lock in the block layer, this removes the BKL
from the common ioctl handling code, moving it
into every single driver still using it.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
