On Thursday 14 February 2008, Borislav Petkov wrote:
> On Thu, Feb 14, 2008 at 12:37:50AM +0100, Hans-Peter Jansen wrote:
> 
> [Added Bart to CC]
> 
> > Am Dienstag, 12. Februar 2008 schrieb Borislav Petkov:
> > > On Tue, Feb 12, 2008 at 10:26:17AM +0100, Hans-Peter Jansen wrote:
> > > > Hi,
> > > >
> > > > I suffer from unreliable cdrom operations (failing DAE and burn
> > > > sessions) with the openSUSE 2.6.18.8-0.7-bigsmp kernel.
> > >
> > >                   ^^^^
> > > Hi,
> > >
> > > can please you test this with a more recent kernel. Yours is almost
> > > ancient - from Sep. 2006.
> > 
> > Sure, sorry. Here we go:
> > 
> > Feb 14 00:18:18 kernel: hde: cdrom_pc_intr: The drive appears confused 
> > (ireason = 0x01).
> >  Trying to recover by ending request.
> > Feb 14 00:27:27 kernel: hdc: cdrom_pc_intr: The drive appears confused 
> > (ireason = 0x01). 
> >  Trying to recover by ending request.
> > 
> > ~> uname -a
> > Linux xrated 2.6.24.1-35-pae #1 SMP 2008/02/12 01:00:18 UTC i686 athlon 
> > i386 GNU/Linux
> 
> Actually the interrupt handler in ide-cd got rewritten and you're still using 
> the
> old one (cdrom_pc_intr vs cdrom_newpc_intr). Those changes went into mainline 
> before
> the 2.6.25-rc1 so we'll be able to test the new one only when you try out 
> 2.6.25-rc1
> or wait until 2.6.25 is released in case you don't want to try hazardous 
> materials
> such as an -rc kernel[*] :).
> 
> Bart?
> 
> *. As a matter of fact it runs quite smoothly on my machines.

2.6.25-rc1-git1 if you are using IDE.

however it may still have this problem

        if (ireason == 0) {
                write = 1;
                xferfunc = HWIF(drive)->atapi_output_bytes;
        } else if (ireason == 2 || (ireason == 1 &&
                   (blk_fs_request(rq) || blk_pc_request(rq)))) {

we problably need to call ide_cd_check_ireason() also for REQ_TYPE_ATA_PC
requests and remove (blk_fs_request(rq) || blk_pc_request(rq) here

                write = 0;
                xferfunc = HWIF(drive)->atapi_input_bytes;
        } else {
                printk(KERN_ERR "%s: %s: The drive "
                                "appears confused (ireason = 0x%02x). "
                                "Trying to recover by ending request.\n",
                                drive->name, __FUNCTION__, ireason);
                goto end_request;
        }

Bart
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to