1. 04 Sep, 2014 1 commit
  2. 02 Sep, 2014 3 commits
  3. 29 Aug, 2014 9 commits
  4. 28 Aug, 2014 1 commit
  5. 24 Aug, 2014 1 commit
  6. 22 Aug, 2014 14 commits
  7. 21 Aug, 2014 9 commits
  8. 20 Aug, 2014 1 commit
  9. 19 Aug, 2014 1 commit
    • Guenter Roeck's avatar
      scsi: Fix qemu boot hang problem · 480cadc2
      Guenter Roeck authored
      The latest kernel fails to boot qemu arm images when using scsi
      for disk access. Boot gets stuck after the following messages.
      
      brd: module loaded
      sym53c8xx 0000:00:0c.0: enabling device (0100 -> 0103)
      sym0: <895a> rev 0x0 at pci 0000:00:0c.0 irq 93
      sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking
      sym0: SCSI BUS has been reset.
      scsi host0: sym-2.2.3
      
      Bisect points to commit 71e75c97 ("scsi: convert device_busy to
      atomic_t"). Code inspection shows the following suspicious change
      in scsi_request_fn.
      
      out_delay:
      -       if (sdev->device_busy == 0 && !scsi_device_blocked(sdev))
      +       if (atomic_read(&sdev->device_busy) && !scsi_device_blocked(sdev))
      		blk_delay_queue(q, SCSI_QUEUE_DELAY);
      	}
      
      'sdev->device_busy == 0' was replaced with 'atomic_read(&sdev->device_busy)',
      meaning the logic was reversed. Changing this expression to
      '!atomic_read(&sdev->device_busy)' fixes the problem.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
      Acked-by: default avatarJens Axboe <axboe@fb.com>
      Reviewed-by: default avatarVenkatesh Srinivas <venkateshs@google.com>
      Reviewed-by: default avatarWebb Scales <webbnh@hp.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      480cadc2