<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/block, branch tegra-9.12.7</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 commit 'gcl/merge' into merge</title>
<updated>2009-03-18T02:16:30+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2009-03-18T02:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c71327ad9f925a4ddbf24db80ce66165104c4ed0'/>
<id>c71327ad9f925a4ddbf24db80ce66165104c4ed0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Xilinx SystemACE driver to handle empty CF slot</title>
<updated>2009-03-14T20:06:52+00:00</updated>
<author>
<name>Grant Likely</name>
<email>grant.likely@secretlab.ca</email>
</author>
<published>2009-03-09T12:42:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bfbd442f69ec9c58590ffc6e93ac8d6809caa48b'/>
<id>bfbd442f69ec9c58590ffc6e93ac8d6809caa48b</id>
<content type='text'>
The SystemACE driver does not handle an empty CF slot gracefully. An
empty CF slot ends up hanging the system. This patch adds a check for
the CF state and stops trying to process requests if the slot is empty.

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The SystemACE driver does not handle an empty CF slot gracefully. An
empty CF slot ends up hanging the system. This patch adds a check for
the CF state and stops trying to process requests if the slot is empty.

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ps3/block: Replace mtd/ps3vram by block/ps3vram</title>
<updated>2009-03-13T05:07:19+00:00</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>Geert.Uytterhoeven@sonycom.com</email>
</author>
<published>2009-03-06T02:54:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f507cd22035fdadd5dbb476dd05e9e7ee21c3b84'/>
<id>f507cd22035fdadd5dbb476dd05e9e7ee21c3b84</id>
<content type='text'>
Convert the PS3 Video RAM Storage Driver from an MTD driver to a plain block
device driver.

The ps3vram driver exposes unused video RAM on the PS3 as a block device
suitable for storage or swap.  Fast data transfer is achieved using a local
cache in system RAM and DMA transfers via the GPU.

The new driver is ca. 50% faster for reading, and ca. 10% for writing.

Signed-off-by: Geert Uytterhoeven &lt;Geert.Uytterhoeven@sonycom.com&gt;
Acked-by: Geoff Levand &lt;geoffrey.levand@am.sony.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert the PS3 Video RAM Storage Driver from an MTD driver to a plain block
device driver.

The ps3vram driver exposes unused video RAM on the PS3 as a block device
suitable for storage or swap.  Fast data transfer is achieved using a local
cache in system RAM and DMA transfers via the GPU.

The new driver is ca. 50% faster for reading, and ca. 10% for writing.

Signed-off-by: Geert Uytterhoeven &lt;Geert.Uytterhoeven@sonycom.com&gt;
Acked-by: Geoff Levand &lt;geoffrey.levand@am.sony.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-03-09T16:15:40+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-03-09T16:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=df0b4a5080ca668636831b641a6356500fb5c637'/>
<id>df0b4a5080ca668636831b641a6356500fb5c637</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits)
  p54: fix race condition in memory management
  cfg80211: test before subtraction on unsigned
  iwlwifi: fix error flow in iwl*_pci_probe
  rt2x00 : more devices to rt73usb.c
  rt2x00 : more devices to rt2500usb.c
  bonding: Fix device passed into -&gt;ndo_neigh_setup().
  vlan: Fix vlan-in-vlan crashes.
  net: Fix missing dev-&gt;neigh_setup in register_netdevice().
  tmspci: fix request_irq race
  pkt_sched: act_police: Fix a rate estimator test.
  tg3: Fix 5906 link problems
  SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails
  IPv6: add "disable" module parameter support to ipv6.ko
  sungem: another error printed one too early
  aoe: error printed 1 too early
  net pcmcia: worklimit reaches -1
  net: more timeouts that reach -1
  net: fix tokenring license
  dm9601: new vendor/product IDs
  netlink: invert error code in netlink_set_err()
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits)
  p54: fix race condition in memory management
  cfg80211: test before subtraction on unsigned
  iwlwifi: fix error flow in iwl*_pci_probe
  rt2x00 : more devices to rt73usb.c
  rt2x00 : more devices to rt2500usb.c
  bonding: Fix device passed into -&gt;ndo_neigh_setup().
  vlan: Fix vlan-in-vlan crashes.
  net: Fix missing dev-&gt;neigh_setup in register_netdevice().
  tmspci: fix request_irq race
  pkt_sched: act_police: Fix a rate estimator test.
  tg3: Fix 5906 link problems
  SCTP: change sctp_ctl_sock_init() to try IPv4 if IPv6 fails
  IPv6: add "disable" module parameter support to ipv6.ko
  sungem: another error printed one too early
  aoe: error printed 1 too early
  net pcmcia: worklimit reaches -1
  net: more timeouts that reach -1
  net: fix tokenring license
  dm9601: new vendor/product IDs
  netlink: invert error code in netlink_set_err()
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>loop: don't increment p-&gt;offset with (size_t) -EINVAL</title>
<updated>2009-03-05T11:04:57+00:00</updated>
<author>
<name>Roel Kluin</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2009-03-05T07:03:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a3941ec101a5ec54c1e929730afeb196441a171e'/>
<id>a3941ec101a5ec54c1e929730afeb196441a171e</id>
<content type='text'>
Upon a 'transfer error block' size is set to -EINVAL, but this becomes positive
since size is unsigned: p-&gt;offset still gets incremented.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Upon a 'transfer error block' size is set to -EINVAL, but this becomes positive
since size is unsigned: p-&gt;offset still gets incremented.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cciss: remove 30 second initial timeout on controller reset</title>
<updated>2009-03-05T11:04:57+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-02-27T07:10:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5e18cfd04feca78cc08a6b8b71a60a610de81eaa'/>
<id>5e18cfd04feca78cc08a6b8b71a60a610de81eaa</id>
<content type='text'>
Commit 5e4c91c84b194b26cf592779e451f4b5be777cba forgot to remove the
initial sleep, get rid of it.

Thanks to Randy Dunlap &lt;randy.dunlap@oracle.com&gt; for spotting this error.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 5e4c91c84b194b26cf592779e451f4b5be777cba forgot to remove the
initial sleep, get rid of it.

Thanks to Randy Dunlap &lt;randy.dunlap@oracle.com&gt; for spotting this error.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix kernel NULL pointer dereference in xen-blkfront</title>
<updated>2009-03-05T11:04:57+00:00</updated>
<author>
<name>Kris Shannon</name>
<email>kris@shannon.id.au</email>
</author>
<published>2009-03-02T08:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a1a15ac5f9aeee521c048a88fc1aec848e623de7'/>
<id>a1a15ac5f9aeee521c048a88fc1aec848e623de7</id>
<content type='text'>
When booting Xen Dom0 on a pre-release 3.2.1 hypervisor the system Oopses on a
"Unable to handle kernel NULL pointer dereference" in xenwatch.

From the backtrace it looks like backend_changed is calling bdget_disk
with a NULL pointer.  Checking for NULL and returning ENODEV instead
allows the kernel to boot.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When booting Xen Dom0 on a pre-release 3.2.1 hypervisor the system Oopses on a
"Unable to handle kernel NULL pointer dereference" in xenwatch.

From the backtrace it looks like backend_changed is calling bdget_disk
with a NULL pointer.  Checking for NULL and returning ENODEV instead
allows the kernel to boot.
</pre>
</div>
</content>
</entry>
<entry>
<title>aoe: error printed 1 too early</title>
<updated>2009-03-04T08:11:52+00:00</updated>
<author>
<name>Roel Kluin</name>
<email>roel.kluin@gmail.com</email>
</author>
<published>2009-03-04T08:07:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=948731115774c2e5ff7409360f35389459502211'/>
<id>948731115774c2e5ff7409360f35389459502211</id>
<content type='text'>
with while (i-- &gt; 0); i reaches -1 after the loop, so the test below is printed
one too early: 0 still means success.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&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>
with while (i-- &gt; 0); i reaches -1 after the loop, so the test below is printed
one too early: 0 still means success.

Signed-off-by: Roel Kluin &lt;roel.kluin@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xen/blkfront: use blk_rq_map_sg to generate ring entries</title>
<updated>2009-02-26T09:45:48+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-02-24T07:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9e973e64ac6dc504e6447d52193d4fff1a670156'/>
<id>9e973e64ac6dc504e6447d52193d4fff1a670156</id>
<content type='text'>
On occasion, the request will apparently have more segments than we
fit into the ring. Jens says:

&gt; The second problem is that the block layer then appears to create one
&gt; too many segments, but from the dump it has rq-&gt;nr_phys_segments ==
&gt; BLKIF_MAX_SEGMENTS_PER_REQUEST. I suspect the latter is due to
&gt; xen-blkfront not handling the merging on its own. It should check that
&gt; the new page doesn't form part of the previous page. The
&gt; rq_for_each_segment() iterates all single bits in the request, not dma
&gt; segments. The "easiest" way to do this is to call blk_rq_map_sg() and
&gt; then iterate the mapped sg list. That will give you what you are
&gt; looking for.

&gt; Here's a test patch, compiles but otherwise untested. I spent more
&gt; time figuring out how to enable XEN than to code it up, so YMMV!
&gt; Probably the sg list wants to be put inside the ring and only
&gt; initialized on allocation, then you can get rid of the sg on stack and
&gt; sg_init_table() loop call in the function. I'll leave that, and the
&gt; testing, to you.

[Moved sg array into info structure, and initialize once. -J]

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On occasion, the request will apparently have more segments than we
fit into the ring. Jens says:

&gt; The second problem is that the block layer then appears to create one
&gt; too many segments, but from the dump it has rq-&gt;nr_phys_segments ==
&gt; BLKIF_MAX_SEGMENTS_PER_REQUEST. I suspect the latter is due to
&gt; xen-blkfront not handling the merging on its own. It should check that
&gt; the new page doesn't form part of the previous page. The
&gt; rq_for_each_segment() iterates all single bits in the request, not dma
&gt; segments. The "easiest" way to do this is to call blk_rq_map_sg() and
&gt; then iterate the mapped sg list. That will give you what you are
&gt; looking for.

&gt; Here's a test patch, compiles but otherwise untested. I spent more
&gt; time figuring out how to enable XEN than to code it up, so YMMV!
&gt; Probably the sg list wants to be put inside the ring and only
&gt; initialized on allocation, then you can get rid of the sg on stack and
&gt; sg_init_table() loop call in the function. I'll leave that, and the
&gt; testing, to you.

[Moved sg array into info structure, and initialize once. -J]

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cciss: shorten 30s timeout on controller reset</title>
<updated>2009-02-26T09:45:48+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2009-02-23T07:53:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5e4c91c84b194b26cf592779e451f4b5be777cba'/>
<id>5e4c91c84b194b26cf592779e451f4b5be777cba</id>
<content type='text'>
If reset_devices is set for kexec, then cciss will delay 30 seconds
since the old 5i controller _may_ need that long to recover. Replace
the long sleep with incremental sleep and tests to reduce the 30 seconds
to worst case for 5i, so that other controllers will proceed quickly.

Reviewed-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If reset_devices is set for kexec, then cciss will delay 30 seconds
since the old 5i controller _may_ need that long to recover. Replace
the long sleep with incremental sleep and tests to reduce the 30 seconds
to worst case for 5i, so that other controllers will proceed quickly.

Reviewed-by: Mike Miller &lt;mike.miller@hp.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
