1. 15 Oct, 2004 5 commits
    • Alan Stern's avatar
      [PATCH] Let LLD specify INQUIRY length · 6928192f
      Alan Stern authored
      That sounds like a good suggestion.  Even better, instead of adding a new
      field we can simply use the existing inquiry_length.
      
      This patch changes scsi_probe_lun() to use the value in
      sdev->inquiry_length for the first INQUIRY attempt, if that value is
      nonzero.  Subsequent attempts are based, as before, on the blacklist flags
      and the Additional Length field in the INQUIRY data.
      
      The patch also contains a fairly extensive reorganization of the
      subroutine.  All the code that was duplicated for sending the INQUIRY
      command twice has been consolidated.  The routine now makes up to three
      passes:
      
      	In the first pass, the transfer length is the value initially
      	found in sdev->inquiry_length if that has been set, otherwise
      	it is the current conservative 36 bytes.
      
      	If the first pass succeeds, the routine retrieves the blist flags
      	for the device and checks the Additional Length field.  The blist
      	flags take precedence over sdev->inquiry_length, which in turn
      	takes precedence over the Additional Length.  If it turns out
      	there is more data available than we transferred the first time,
      	a second pass tries to get it.
      
      	If the second pass succeeds the INQUIRY data may have changed,
      	so the blist flags are looked up again and the Additional Length
      	is checked again.  If not, a third pass tries to get the data
      	back, using the same transfer length as the first pass.
      
      Finally, the value stored in sdev->inquiry_length is set to the amount
      actually transferred or the size computed from the Additional Length,
      whichever is smaller.
      
      Although the net change in the source file size is small, the new routine
      has more comments and less code.  Overall I think it's an improvement.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      6928192f
    • James Bottomley's avatar
      SCSI: Fix problems with non-power-of-two sector size discs · c7014083
      James Bottomley authored
      We can't support them, but the system should disable them cleanly
      and continue when they're detected (at the moment it
      dumps a stack trace).
      
      The fix (hack) is to set them to zero size and 512 byte
      sectors.  This means they're still amenable to ioctls (like
      to reformat them with a useful block size) but cannot
      be read from or written to.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      c7014083
    • Guennadi Liakhovetski's avatar
      [PATCH] tmscsim: use block-layer tags · 3bee45fa
      Guennadi Liakhovetski authored
      Now uses the generic block layer tag handling routines (via the SCSI API).
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      3bee45fa
    • James Bottomley's avatar
      merge scsiiom.c into tmscsim.c · 1d4cf376
      James Bottomley authored
      From: Christoph Hellwig <hch@lst.de>
      
      Also reapplied sparse fixes on top of the initial
      patch.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      1d4cf376
    • James Bottomley's avatar
      Merge megaraid conflicts · 3902f5c8
      James Bottomley authored
      Out of order bug fix
      3902f5c8
  2. 14 Oct, 2004 2 commits
    • Linus Torvalds's avatar
      Take the whole PCI bus range into account when scanning PCI bridges. · 8b5915b0
      Linus Torvalds authored
      A bridge that has been set up by firmware to cover multiple PCI
      buses but doesn't actually have anything connected behind some of
      them caused us to use the incorrect maxmimum bus number span when
      scanning the bridge chip.
      
      Problem reported by Tim Saunders, with Russell King suggesting
      the fix.
      8b5915b0
    • Linus Torvalds's avatar
      Fix threaded user page write memory ordering · 538ce05c
      Linus Torvalds authored
      Make sure we order the writes to a newly created page
      with the page table update that potentially exposes the
      page to another CPU.
      
      This is a no-op on any architecture where getting the
      page table spinlock will already do the ordering (notably
      x86), but other architectures can care.
      538ce05c
  3. 13 Oct, 2004 33 commits