• Guennadi Liakhovetski's avatar
    [PATCH] tmscsim: no internal queue · d9883b01
    Guennadi Liakhovetski authored
    Here comes the 2nd one. I wanted to get Christoph's patches now in, but
    already the first his patch comes on the top of this one: remove internal
    command queuing in the driver. And, in fact, it fixes some bugs in it. So,
    they should go in together. Here's the original comment from Christoph's
    email of 1 Feb 2004:
    
    <start quote>
    
    Patch looks mostly good for me.  But there's some fishyness in queuecommand,
    mostly from before you patch:
    
     - many failure cases return one with the new EH code although we wouldn't
       want to requeue the midlayer in that case.  I removed the ifdef and added
       a failed goto to handle them.
     - we need to set cmd->result onlyh if we have an error instead of always
       an overriding it - else it will leak to the midlayer in the return 1
       case.
     - the check for ids out of range are superflous (this was one of the errors
       above, I decided to remove it instead of fixing it).
     - you don't do DC390_UNLOCK_ACB when failing.  While it's a noop I think
       it's bad to have locking macros in place and don't balance them.  You
       should probably remove it completly in one of the next patches.
     - the pDCB->pWaitingSRB looks a bit strange.  By unifying the the codepathes
       it becomes much more readable.
    
    <end quote>
    d9883b01
tmscsim.c 85.9 KB