Messages in this thread | | | Subject | Re: linux-next-20090225: ide-cd triggers BUG at arch/x86/mm/ioremap.c:80! | From | Tetsuo Handa <> | Date | Tue, 3 Mar 2009 21:31:30 +0900 |
| |
Hello.
Borislav Petkov wrote: > ok, if I read the stack dump correctly, we map an rq with rq->data = NULL to an > sg. Code path starts at cdrom_check_status() and actually, we don't need a > buffer here since we send a TEST_UNIT_READY and we're only interested in the > sense returned. And this won't trigger if we haven't enabled > CONFIG_DEBUG_VIRTUAL. Yep, I know that this is a dirty hack but it fixes it > here. Tetsuo, does the following fix your problem? > > diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c > index 481fb1b..e6ac4cc 100644 > --- a/drivers/ide/ide-io.c > +++ b/drivers/ide/ide-io.c > @@ -238,6 +238,8 @@ void ide_map_sg(ide_drive_t *drive, struct ide_cmd *cmd) > sg_init_one(sg, rq->buffer, rq->nr_sectors * SECTOR_SIZE); > cmd->sg_nents = 1; > } else if (!rq->bio) { > + if (!rq->data) > + rq->data = &rq->data; > sg_init_one(sg, rq->data, rq->data_len); > cmd->sg_nents = 1; > } else > Yes. This patch solved the problem.
You sent me another patch. > @Tetsuo: please do test, this should fix your OOPS. I'll try your new patch tomorrow.
Thanks.
| |