Re: 2.6.19-rc5: known regressions

From: Jens Axboe
Date: Wed Nov 08 2006 - 14:43:33 EST


On Wed, Nov 08 2006, Alex Romosan wrote:
> Jens Axboe <jens.axboe@xxxxxxxxxx> writes:
>
> > It helps a lot, thanks! I may ask you to retest with another patch,
> > if you don't mind.
>
> send the patches, i'll test them all. thanks.

If you could retest with something crazy like this, then that would
likely help:

diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index 7c47e62..010acfa 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -630,6 +630,9 @@ static void cdrom_end_request (ide_drive
struct request *rq = HWGROUP(drive)->rq;
int nsectors = rq->hard_cur_sectors;

+ if (blk_pc_request(rq) && rq->cmd[0] == 0x12)
+ printk("ide-cd: end INQ rq %p\n", rq);
+
if (blk_sense_request(rq) && uptodate) {
/*
* For REQ_TYPE_SENSE, "rq->buffer" points to the original
@@ -1671,6 +1674,9 @@ static ide_startstop_t cdrom_newpc_intr(
xfer_func_t *xferfunc;
unsigned long flags;

+ if (rq->cmd[0] == 0x12)
+ printk("ide-cd: newpc %p\n", rq);
+
/* Check for errors. */
dma_error = 0;
dma = info->dma;
@@ -1789,6 +1795,8 @@ static ide_startstop_t cdrom_newpc_intr(
return ide_started;

end_request:
+ if (rq->cmd[0] == 0x12)
+ printk("ide-cd: newpc end INQ %p\n", rq);
if (!rq->data_len)
post_transform_command(rq);

@@ -1959,7 +1967,13 @@ static ide_startstop_t cdrom_do_block_pc
{
struct cdrom_info *info = drive->driver_data;

- rq->cmd_flags |= REQ_QUIET;
+ if (rq->cmd[0] == 0x12) {
+ printk("ide-cd: starting INQ %p\n", rq);
+ if (rq_data_dir(rq) == WRITE)
+ printk("ide-cd: INQ with write set seen\n");
+ }
+ if (!rq->bio && rq->biotail)
+ printk("ide-cd: no bio, but biotail\n");

info->dma = 0;


--
Jens Axboe

-
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/