1. 11 4月, 2007 2 次提交
    • S
      ide: ugly messages trying to open CD drive with no media present · 76ca1af1
      Stuart Hayes 提交于
      I get the following error messages when trying to open a CD device
      (specifically, the Teac CD-ROM CD-224E) that has no media present:
      
      hda: packet command error: status=3D0x51 { DriveReady SeekComplete Error }
      hda: packet command error: error=3D0x54 { AbortedCommand LastFailedSense=0x05 }
      ide: failed opcode was: unknown
      
      This happens when a "start stop unit" command (0x1b 0 0 0 3 0 0 0 0 0)
      is sent to the drive to try to close the CD-ROM tray, but this drive
      doesn't have that capability (it's a slim portable-type CD-ROM), so it
      reports sense key 5 (illegal request) with asc/ascq 24/0.  This is
      exactly how SFF8090i says it should respond.
      
      But ide-cd.c (in cdrom_decode_status() ) just sees sense key 5 and spews
      out an error.  It then goes on to request sense data, and
      cdrom_log_sense() understands this error and doesn't log it.
      
      The patch, for kernel 2.6.20.4, suppresses this error message.
      Signed-off-by: NStuart Hayes <stuart_hayes@dell.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      76ca1af1
    • S
      ide: correctly prevent IDE timer expiry function to run if request was already handled · 23450319
      Suleiman Souhlal 提交于
      It is possible for the timer expiry function to run even though the
      request has already been handled: ide_timer_expiry() only checks that
      the handler is not NULL, but it is possible that we have handled a
      request (thus clearing the handler) and then started a new request
      (thus starting the timer again, and setting a handler). 
      
      A simple way to exhibit this is to set the DMA timeout to 1 jiffy and
      run dd: The kernel will panic after a few minutes because
      ide_timer_expiry() tries to add a timer when it's already active.
      
      To fix this, we simply add a request generation count that gets
      incremented at every interrupt, and check in ide_timer_expiry() that
      we have not already handled a new interrupt before running the expiry
      function.
      Signed-off-by: NSuleiman Souhlal <suleiman@google.com>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      23450319
  2. 10 4月, 2007 1 次提交
  3. 09 4月, 2007 6 次提交
  4. 08 4月, 2007 4 次提交
  5. 07 4月, 2007 3 次提交
  6. 06 4月, 2007 5 次提交
  7. 05 4月, 2007 13 次提交
  8. 04 4月, 2007 6 次提交