MESH problems in 2.2.x

Geert Uytterhoeven Geert.Uytterhoeven at cs.kuleuven.ac.be
Mon Aug 2 21:14:43 EST 1999


On Thu, 15 Jul 1999, Geert Uytterhoeven wrote:
> On Wed, 14 Jul 1999, Paul Mackerras wrote:
> > Geert Uytterhoeven <Geert.Uytterhoeven at cs.kuleuven.ac.be> wrote:
> > > Just made some diff between 2.1.130 and the `broken' kernels. The following
> > > two things make me suspicious:
> > > 
> > > Index: drivers/scsi/mesh.c
> > > @@ -1643,6 +1643,7 @@
> > >  static void
> > >  mesh_completed(struct mesh_state *ms, Scsi_Cmnd *cmd)
> > >  {
> > > +#if 0
> > >  	if (ms->completed_q == NULL)
> > >  		ms->completed_q = cmd;
> > >  	else
> > > @@ -1651,6 +1652,9 @@
> > >  	cmd->host_scribble = NULL;
> > >  	queue_task(&ms->tqueue, &tq_immediate);
> > >  	mark_bh(IMMEDIATE_BH);
> > > +#else
> > > +	(*cmd->scsi_done)(cmd);
> > > +#endif
> > >  }
> > >  
> > >  /*
> > > 
> > > Why did Dave (mesh.c 1.20, according to the vger CVS logs, which don't help me
> > > much) do this?
> > 
> > I made that change, I think maybe I sent it straight to Linus and it
> > got into vger via the official releases or something.
> > 
> > The point was that I realized, looking at the scsi code (which has
> > changed quite a bit since I wrote the original mesh driver) that the
> > scsi done routine was going to schedule a BH handler anyway so there
> > was no point in mesh.c having complexity to arrange for that.  I was
> > cleaning up the SMP locking in mesh.c at the time and making that
> > change was an alternative to getting the locking right for the
> > completed_q stuff.
> 
> But on my UP box, changing the `#if 0' to `#if 1' fixed all my MESH
> problems...

Well, I've been too early...

After a power down of my Quantum Fireball TMS3200 I still have to boot a
2.1.130 first to avoid getting the `scsi_done()' messages under 2.3.x.
Intermittent soft reboots don't require this. Apart from that, the drive works
fine with FAST-10 under 2.3.{6,10}.

Greetings,

						Geert

--
Geert Uytterhoeven                     Geert.Uytterhoeven at cs.kuleuven.ac.be
Wavelets, Linux/{m68k~Amiga,PPC~CHRP}  http://www.cs.kuleuven.ac.be/~geert/
Department of Computer Science -- Katholieke Universiteit Leuven -- Belgium


[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting.   ]]





More information about the Linuxppc-dev mailing list