An error occurred fetching the project authors.
  1. 19 Jan, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] mt rainier support · 62950936
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      Following patch adds mt rainier support to the cdrom uniform layer (it
      works with atapi and scsi/usb).
      62950936
  2. 22 Oct, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] scsi: handle zero-length requests · defa3962
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      The command 'eject /dev/scd0' sends a START_STOP command to the device with
      the data direction set to SCSI_DATA_WRITE but a transfer length of zero.
      This causes a problem for some code paths.
      defa3962
  3. 25 Sep, 2003 1 commit
    • Patrick Mansfield's avatar
      [PATCH] don't set underflow for REQ_BLOCK_PC · ee99c100
      Patrick Mansfield authored
      I got underflow warnings and failures when sending an INQUIRY page 0x83
      via the SG_IO REQ_BLOCK_PC interface.
      
      The underflow field should only be set if we know for certain the size of
      the data being transfered, so fix this by leaving it at zero for scsi
      REQ_BLOCK_PC cases.
      ee99c100
  4. 05 Sep, 2003 1 commit
  5. 03 Sep, 2003 1 commit
  6. 01 Sep, 2003 1 commit
    • Matthew Dharm's avatar
      [PATCH] sr.c should issue TEST_UNIT_READY · 613d1564
      Matthew Dharm authored
      The linux/drivers/scsi/sr.c code will issue a MODE_SENSE[_10] command to
      a device as the first command sent to the device.  If the device has
      just come out of reset, it will likely respond with a UNIT_ATTENTION /
      NOT_READY status, which causes the MODE_SENSE to fail.  In fact, the
      device may have several UNIT_ATTENTION conditions queued up (power-up
      reset, media change, etc.)
      
      This results in the mode page 0x2a data not being properly read and
      interpreted.  As an end-effect, things like packet-writing don't work
      (because the writeable bit is not set).
      
      The solution to this is to issue one or more TEST_UNIT_READY commands to
      the device to clear any pending UNIT_ATTENTION conditions.  This is the
      technique used by sd.c -- in fact, this code was lifted directly from
      sd.c
      
      At some point in the future, abstraction of this initial TEST_UNIT_READY
      code between all high-level SCSI drivers may be apropriate.  For now,
      this patch makes sr.c issue TEST_UNIT_READY to clear the UNIT_ATTENTION,
      thus allowing the mode page 0x2a code to work properly.  Given the
      approaching 2.6.0-final release, I urge that this patch be accepted.
      613d1564
  7. 25 Aug, 2003 1 commit
  8. 16 Aug, 2003 1 commit
    • Alan Stern's avatar
      [PATCH] PATCH: (as70b) Update request_bufflen to match this_count · 133d35e0
      Alan Stern authored
      This patch addresses a problem in both sd.c and sr.c.  When a read/write
      command is initialized, the routines may reduce this_count (the number of
      sectors to transfer) if it exceeds the maximum allowed value (i.e., 0xffff
      for READ(10)).  However, the code does not similarly alter
      scmd->request_bufflen and scmd->bufflen to match the change in the CDB
      value.
      
      scmd->request_bufflen is important for the usb-storage driver, which
      requires that it be exactly equal to the number of bytes transferred.
      scmd->bufflen is used in the rw_intr() routines, where it is passed to
      scsi_io_completion() as the number of sectors transferred if no errors
      occur.
      
      Another small change in the patch concerns the code in sr.c that checks
      whether the total of the scatter-gather area lengths matches
      scmd->request_bufflen.  If they don't match, the patch bumps the kernel
      log message level up to KERN_ERR, and it takes the more conservative
      approach of adjusting scmd->request_bufflen only if the s-g length is
      smaller than the request length.
      133d35e0
  9. 02 Aug, 2003 1 commit
    • Mike Anderson's avatar
      [PATCH] recovered error forward port · a5090bb3
      Mike Anderson authored
      Forward port of Kurt Garloff's recovered error fix.
      http://marc.theaimsgroup.com/?l=linux-scsi&m=104470522312140&w=2
      
      Also corrected some typos related to setting local scope variable by mistake.
      
      Signature without fix:
      Current sdc: sense key Recovered Error
      Additional sense: Failure prediction threshold exceeded
      end_request: I/O error, dev sdc, sector 1808
      Buffer I/O error on device sdc, logical block 226
      
      Signature with fix:
      scsi_debug: cmd 28 00 00 00 3f 10 00 00 f0 00
      scsi_debug: ... <1 0 0 0> non-zero result=0x8000002
      Current sdsdc: sense key Recovered Error
      Additional sense: Failure prediction threshold exceeded
      
       drivers/scsi/sd.c |    6 ++--
       drivers/scsi/sr.c |   79 +++++++++++++++++++++++++++++++++++-------------------
       2 files changed, 56 insertions(+), 29 deletions(-)
      a5090bb3
  10. 17 Jul, 2003 1 commit
    • Adrian Bunk's avatar
      [PATCH] remove all #include <blk.h>'s · 117b5e29
      Adrian Bunk authored
      This causes blk.h to print a warning and removes all uses of blk.h.
      I've tested the compilation in 2.6.0-test1 with a .config that tries to
      compile as many drivers as possible.
      117b5e29
  11. 08 Jul, 2003 1 commit
  12. 28 Jun, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] Fix ide-cd rw mounts · b019b5ee
      Andrew Morton authored
      From: Kouichi ONO <co2b@ceres.dti.ne.jp>
      
      in 2.5.73, I can't read/write mount DVD-RAM via ide-scsi (only r/o mount).
      Without ide-scsi, I can mount DVD-RAM read/write mode and works fine.
      
      (acked by Jens).
      b019b5ee
  13. 25 Jun, 2003 2 commits
    • Christoph Hellwig's avatar
      [PATCH] add scsi_driver.h · 7de427c5
      Christoph Hellwig authored
      include/scsi/scsi_driver.h contains æverything related to upper
      level drivers.  Unlike the other header moves there's no compatiblity
      this time as it's easy to fix up the few users.
      7de427c5
    • James Bottomley's avatar
      SCSI: abstract mode_sense 6 and 10 out completely · 5c8dfe47
      James Bottomley authored
      Move the mode_sense request routines to a central location and make
      all block device consumers use it.  Also abstract the header as
      part of the return to hide the 6/10 differences.
      5c8dfe47
  14. 15 Jun, 2003 1 commit
    • Matthew Dharm's avatar
      [PATCH] unusual_devs fixups · c202927c
      Matthew Dharm authored
      This moves the initialization of the struct scsi_device fields
      use_10_for_ms and use_10_for_rw into a central place.  This allows the
      host's slave_configure() function to change them (with effect).  This
      also collapses two identical sections of code into a single one.
      
      This is needed by usb-storage, so we can resolve some Babble problems,
      some device-crashing problems, and remove a great deal of troublesome
      mode-sense-translation code.
      c202927c
  15. 06 Jun, 2003 1 commit
  16. 30 May, 2003 1 commit
    • Christoph Hellwig's avatar
      [PATCH] driver model for scsi upper drivers, take 2 · 9dd755d2
      Christoph Hellwig authored
      On Tue, May 27, 2003 at 09:32:18AM +0200, Christoph Hellwig wrote:
      >  - removed the tape sysfs pseudodevice crap that caused hangs
      >  - switched sg to a class_interface.  This means sg can be used
      >    on devices already claimed be an upper driver again.  This
      >    also means I had to remove the sg sysfs attributes temporarily
      >    because the old mechanism is gone, but I'll restore them
      >    differently in a followon patch.
      
      Yikes, this was the old patch again.  Here's the right one:
      9dd755d2
  17. 23 May, 2003 1 commit
    • Andries E. Brouwer's avatar
      [PATCH] scsi: ten -> use_10_for_rw / use_10_for_ms · e7ac90bc
      Andries E. Brouwer authored
      In the old days, ancient scsi devices understood 6-byte commands
      and more recent ones also understood 10-byte commands.
      Thus, we had a "ten" flag indicating that 10-byte commands worked.
      
      These days, especially for usb-storage devices, the opposite
      sometimes holds - 10-byte commands are supported, but 6-byte commands
      are not.
      
      The patch below changes the field ten into the pair of fields
      use_10_for_rw, use_10_for_ms set initially when the driver
      thinks these are supported. Ifthe device returns ILLEGAL_REQUEST
      they are cleared.
      
      This patch obsoletes a large amount of code in usb-storage,
      and not only that, once the subsequent patch removes all this
      usb-storage code many devices will work that hang today.
      
      
      Andries
      e7ac90bc
  18. 07 May, 2003 1 commit
    • Christoph Hellwig's avatar
      [PATCH] remove scsi_slave_attach/scsi_slave_detach · af1cbdf2
      Christoph Hellwig authored
      I added those two to factor out common code from the upper drivers
      a long time ago, but after Doug & Lubens nice work there's nothing
      left but incrementing/decrementing a counter in struct scsi_device
      that's never used except in the case were we not it must be NULL
      because we just walked the chain of drivers to detach every single
      one..
      af1cbdf2
  19. 29 Apr, 2003 1 commit
    • Christoph Hellwig's avatar
      [PATCH] split private and public scsi headers · 21eb047c
      Christoph Hellwig authored
      Two new headers:
      
        scsi_priv.h - for macros/declarations private to the scsi midlayer
      		  (= not EXPORT_SYMBOL()ed)
        scsi_logging.h - for SCSI_LOG_* and friends, semi-private to the
        		midlayer and the upper drivers.  One abuse of this
      		in dpt_i2o killed.
      21eb047c
  20. 20 Apr, 2003 1 commit
  21. 18 Apr, 2003 1 commit
  22. 08 Mar, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] register_blkdev cleanups · 9a64905a
      Andrew Morton authored
      Patch from Andries.Brouwer@cwi.nl
      
      The following patch does the following:
      
      - static const char *blkdevs[MAX_BLKDEV]; disappears
      - get_blkdev_list, (un)register_blkdev, __bdevname
        are moved from block_dev.c to genhd.c
      - the third "fops" parameter of register_blkdev was unused;
        now removed everywhere
      - zillions of places had printk("cannot get major") upon
        error return from register_blkdev; removed all of these
        and inserted a single printk in register_blkdev.
      
      Of course the reason for the patch is that one fixed size
      array is eliminated.
      9a64905a
  23. 06 Mar, 2003 1 commit
  24. 24 Feb, 2003 1 commit
  25. 29 Dec, 2002 1 commit
    • Douglas Gilbert's avatar
      2.5.53 SCSI_IOCTL_GET_IDLUN+GET_BUS_NUMBER revisited · 1f3e6f50
      Douglas Gilbert authored
      Currently for block devices both the SCSI_IOCTL_GET_IDLUN and 
      SCSI_IOCTL_GET_BUS_NUMBER ioctls yield the value 0 (type: int).
      
      Various applications that utilize the sg driver use these ioctls
      to work out the relationship between sg devices and their higher
      level counterparts in the sd, sr, st and osst drivers. Examples
      that spring to mind are cdrecord, cdparanoia, SANE and sg_utils.
      
      This has been discussed in an earlier threaded started by me:
      http://marc.theaimsgroup.com/?l=linux-scsi&m=103967899608891&w=2
      in which my patch removed the ioctls in question from the block
      level. This broke non-scsi block devices that used applications
      that thought they were talking to an sg device **.
      
      The attachment fine tunes the original patch: for scsi block
      devices (i.e. owned by the sd or sr drivers) these 2 ioctls
      are redirected to the scsi mid level; for non-scsi block
      devices they will yield the value as 0 as they do now in
      lk 2.5.53 .
      
      
      ** This "yield 0" strategy will come unstuck when 2 or more
      cd writers (for example) are connected to the same box.
      Hence to be well formed, these ioctls (together) should
      produce unique tuples for each device (be they ATA(PI) or
      SCSI).
      1f3e6f50
  26. 20 Dec, 2002 1 commit
    • Doug Ledford's avatar
      Change all uses of device->request_queue (was struct, now pointer) · 7b253dfa
      Doug Ledford authored
      Update scsi_scan so that we don't pass around a scsi_device struct for
          	scanning.  Instead, we pass around a request_queue during
          	scanning and create and destroy device structs as needed.  This
          	allows us to have a 1:1 correlation between scsi_alloc_sdev()
          	and scsi_free_sdev() calls, which we didn't have before.
      7b253dfa
  27. 29 Nov, 2002 1 commit
  28. 28 Nov, 2002 1 commit
    • Christoph Hellwig's avatar
      [PATCH] abstract out more scsi_device acess out of the low-level drivers · ee89063d
      Christoph Hellwig authored
      Two new helpers: scsi_device_get and scsi_device_put that get/release a
      reference to the underlying HBA driver and increment/decrement
      ->access_count.  Cleanup ->attach/->detach routines in the upper layer
      drivers a bit to consolidate the error pathes once we're cleaning them
      up.
      
      ->attach and ->detach in upper layer drivers are mandatory now (not
      having them would be rather pointless).
      
      (note that the sd.c changes are not in this patch, it'll be part of
      my next, bigger patch)
      ee89063d
  29. 27 Nov, 2002 1 commit
    • Mike Anderson's avatar
      scsi sysfs update 3 · e9167d31
      Mike Anderson authored
      I have attached an updated combined patch of my previously posted sysfs
      changes. 
      
      This patch is against linux-scsi.bkbits.net/scsi-misc-2.5
      
      This patch contains these updates:
      	- update to osst.c to support sysfs cleanups.
      	- oops fix in osst.c detach if no device attached. A better
      	  method than this quick fix is needed.
      	- removed scsi_bus_hotplug function do to bug and not really
      	  needed now as default gives path data. If needed in future can
      	  be added with better definition.
      
      -andmike
      e9167d31
  30. 16 Nov, 2002 1 commit
  31. 06 Nov, 2002 2 commits
    • Christoph Hellwig's avatar
      [PATCH] get rid of ->detect for upper layer drivers · 4e5ba3ff
      Christoph Hellwig authored
      Okay, we're finally at the point where ->detect has become entirely
      superflous.  In sd, sr and st it does nothing but return different
      values that are ignored anyway, in sg it increments a variable
      that is never read (and thus removed in this patch aswell), only
      in osst it increments a variable that is actually checked for beeing
      non-zero.  But if it was zero we'd never reached that place anyway
      (same check in the beginning of osst_detect and osst_attach).
      
      This make the upper layer interface a lot nicer and avoids the
      race condition where a device is remove between detect and attach
      (which currently wouldn't matter anyway as we aren't doing anything
      in detect anymore)
      4e5ba3ff
    • Patrick Mansfield's avatar
      [PATCH] fix 2.5 scsi queue depth setting · 6647da0e
      Patrick Mansfield authored
      This patch fixes queue depth setting of scsi devices.
      
      This is done by pairing shost->slave_attach() calls with
      a scsi_build_commandblocks in the new scsi_slave_attach.
      
      This is a patch aginst linux-scsi.bkbits.net/scsi-for-linus-2.5 after
      applying the last posted hch version of the "Eliminate scsi_host_tmpl_list"
      patch, it still applies with offset to the current scsi-for-linus-2.5.
      
      It also:
      
      Will properly call shost->slave_attach after a scsi_unregister_device()
      followed by a scsi_register_device() - as could happen if you were able to
      rmmod all upper level drivers and then insmod any of them back (only
      possible when not booted on scsi).
      
      Checks for scsi_build_commandblocks() allocation failures.
      
      Sets queue depth even if shost->slave_attach() does not call
      scsi_adjust_queue_depth.
      
      Removes the use of revoke (no drivers are setting it, it was only
      call via the proc scsi remove-single-device interface).
      
      There are at least two problems with sysfs and scsi (one in sysfs, one in
      scsi, I'll try and post more soon ...) so I could not completey test rmmod
      of an adapter or upper level driver without leading to an oops or shutdown
      hang.
      
       hosts.c              |    5 --
       hosts.h              |    6 --
       osst.c               |    9 ++-
       scsi.c               |  118 +++++++++++++++++++++++++++++++--------------------
       scsi.h               |    2
       scsi_mid_low_api.txt |   24 ----------
       scsi_scan.c          |    9 ---
       sd.c                 |   10 +++-
       sg.c                 |   10 ++--
       sr.c                 |    7 ++-
       st.c                 |   11 +++-
       11 files changed, 106 insertions(+), 105 deletions(-)
      
      ===== drivers/scsi/hosts.c 1.23 vs edited =====
      6647da0e
  32. 05 Nov, 2002 1 commit
    • Christoph Hellwig's avatar
      [PATCH] scsi device template cleanups · 4ce9191f
      Christoph Hellwig authored
      Now that .init isn't implement anymore we can get rid of it and
      do some more cleanup in the scsi device template:
      
      * remove .blk - unused since 2.5.46
      * remove .dev_noticed, only midlayer user is gone together with
        .init.  remaining instance now driver-private
      * remove .nr_dev and .dev_max - they're purely driver internal
        and at least in sd and sr they'll be completly gone very soon.
      4ce9191f
  33. 04 Nov, 2002 1 commit
    • Christoph Hellwig's avatar
      [PATCH] get rid of global arrays in sr · 2b93d0c8
      Christoph Hellwig authored
      Similar cleanup to the recent sd patch:  allocate the scsi_cd struct
      in sd_attach instead of needing the global array and sd_init.
      
      Tested with a DVD reader/CD write combination and ide-scsi.
      2b93d0c8
  34. 01 Nov, 2002 2 commits
    • Alexander Viro's avatar
      [PATCH] scsi_get_request_dev() cleanup · e09824be
      Alexander Viro authored
      	_Now_ we can clean the scsi_get_request_dev() up.  Indeed, for
      any SCSI request we either have ->rq_dev == NODEV and ->rq_disk == NULL
      or ->rq_disk->private_data points to address of template in question.
      IOW, scsi_get_request_dev() becomes simply
      {
      	struct gendisk *p = req->rq_disk;
      	return p ? *(struct Scsi_Device_Template **)p->private_data : NULL;
      }
      and that allows to kill ->max_major, ->min_major and ->major in
      Scsi_Device_Template, along with the last non-trivial use of ->rq_dev.
      e09824be
    • Alexander Viro's avatar
      [PATCH] sr template · 4a17ca93
      Alexander Viro authored
      	Ditto for sr.c
      4a17ca93
  35. 28 Oct, 2002 3 commits
    • Jens Axboe's avatar
      [PATCH] scsi patches · cbfec645
      Jens Axboe authored
      Hi James,
      
      Here are the changes that are good outside the other changes :-)
      
      scsi_lib:
      	o ->errors is used as the scsi status byte for REQ_BLOCK_PC
      	o ->data_len is the residual byte count
      	o call __scsi_end_request even for !good_sectors if status is
      	  good. This legitimately can happen for REQ_BLOCK_PC commands
      	  sent from a user space program, if it gets the command setup
      	  wrong (or weird). Right now this will hang that queue.
      
      scsi_merge:
      	o set SCpnt->request_bufflen to ->data_len, this is the
      	  authoritative io byte count for REQ_BLOCK_PC. Here we deal in
      	  bytes and not sectors.
      
      sr + sd:
      	o Set transfersize and underlow correctly for REQ_BLOCK_PC
      
      sr_ioctl
      	o We want to return -EIO for command failure, not EINVAL. That
       	  is pretty stupid :-)
      
      
      ===== drivers/scsi/scsi_lib.c 1.35 vs edited =====
      cbfec645
    • Christoph Hellwig's avatar
      [PATCH] misc cleanups for sr · 90092a57
      Christoph Hellwig authored
      bring it back in line with sd:
      * get rid of typedefs where possible
      * tab-align all credits entries
      * line-wrap after 80 characters
      * use C99-initializers
      90092a57
    • Jens Axboe's avatar
      [PATCH] misc scsi bits · 54952b34
      Jens Axboe authored
      Various small bits that make SCSI work well with REQ_BLOCK_PC.
      
      o Use ->errors as the scsi status byte for REQ_BLOCK_PC
      
      o Always call end_io completion, even if 0 sectors, as long as the
        status is good. Otherwise we risk hanging this device if a
        REQ_BLOCK_PC user command didn't specify a transfer size for a command
        that did.
      
      o Remove bouncing checks in scsi_merge for REQ_BLOCK_PC, bio_map_user()
        correctly bounces pages now.
      
      o Decrement req->data_len, it's our residual data count.
      
      o sr/sd: set right transfer and underflow size.
      54952b34