Re: [PATCH 2/2] mmc_block: ensure all sectors that do not have errors are read
- From: Bernd Eckenfels <ecki@xxxxxxxxxxxx>
- Date: Mon, 22 Dec 2008 14:12:43 +0100
In article <494F7A02.2030302@xxxxxxxxx> you wrote:
+ /*
+ * After a read error, we redo the request one sector at a time
+ * in order to accurately determine which sectors can be read
+ * successfully.
+ */
+ if (disable_multi && brq.data.blocks > 1)
+ brq.data.blocks = 1;
+
if (brq.data.blocks > 1) {
/* SPI multiblock writes terminate using a special
* token, not a STOP_TRANSMISSION request.
We would save an comparision here if we use it like this:
...
if (brq.data.blocks > 1) {
/*
* After a read error, we redo the request one sector at a time
* in order to accurately determine which sectors can be read
* successfully.
*/
if (disable_multi)
brq.data.blocks = 1;
/* SPI multiblock writes terminate using a special
...
+ if (brq.cmd.error || brq.data.error || brq.stop.error) {
+ if (brq.data.blocks > 1 && rq_data_dir(req) == READ) {
+ /* Redo read one sector at a time */
+ printk(KERN_WARNING "%s: retrying using single "
+ "block read\n", req->rq_disk->disk_name);
+ disable_multi = 1;
+ continue;
+ }
Will this flood the logs?
Gruss
Bernd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- Re: [PATCH 2/2] mmc_block: ensure all sectors that do not have errors are read
- From: Adrian Hunter
- Re: [PATCH 2/2] mmc_block: ensure all sectors that do not have errors are read
- Prev by Date: frequent hangs
- Next by Date: [PATCH 18/18] scsi: Add osd library to build system
- Previous by thread: Re: [PATCH 2/2] mmc_block: ensure all sectors that do not have errors are read
- Next by thread: Re: [PATCH 2/2] mmc_block: ensure all sectors that do not have errors are read
- Index(es):
Relevant Pages
|