1. 26 May, 2005 13 commits
    • James Bottomley's avatar
      Automatic merge of ../scsi-misc-2.6-old/ · 153b1e1f
      James Bottomley authored
      153b1e1f
    • Linus Torvalds's avatar
    • James Bottomley's avatar
      [SCSI] allow the HBA to reserve target and device private areas · c3e9dda4
      James Bottomley authored
      This patch basically allows any HBA attached to the SPI transport class
      to declare an extra area which the mid-layer will allocate as part of
      its device and target allocations.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      c3e9dda4
    • Andrew Morton's avatar
      [SCSI] git-scsi-misc-sbp2-warning-fix · 644e02ea
      Andrew Morton authored
      drivers/ieee1394/sbp2.c: In function `sbp2_check_sbp2_response':
      drivers/ieee1394/sbp2.c:2154: warning: unused variable `device_type'
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      644e02ea
    • James Bottomley's avatar
      [SCSI] Add target alloc/destroy callbacks to the host template · a283bd37
      James Bottomley authored
      This gives the HBA driver notice when a target is created and
      destroyed to allow it to manage its own target based allocations
      accordingly.
      
      This is a much reduced verson of the original patch sent in by
      James.Smart@Emulex.com
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      a283bd37
    • Marcello Maggioni's avatar
      [PATCH] timeout at boottime with NEC3500A (and possibly others) when inserted a CD in it · 284e4238
      Marcello Maggioni authored
      From: Marcello Maggioni <hayarms@gmail.com>
      
      Problem: Some drives (NEC 3500, TDK 1616N, Mad-dog MD-16XDVD9, RICOH
      MP5163DA, Memorex DVD9 drive and IO-DATA's too for sure), if a
      CD/DVD is inserted into the tray when the system is booted and if
      before the OS bootup the BIOS checked for the presence of a bootable
      CD/DVD into the drive, during the IDE probe phase the drive may
      result busy and remain so for the next 25/30 seconds . This cause the
      drive to be skipped during the booting phase and not begin usable
      until the next reboot (if the reboot goes well and the drive doesn't
      timeout again).
      
      Solution: Rising the timeout time from 10 seconds to 35 seconds
      (during these 35 seconds every drive should wake up for sure
      according to the tests I've done).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      284e4238
    • Al Viro 's avatar
      [SCSI] TYPE_RBC cache fixes (sbp2.c affected) · 631e8a13
      Al Viro authored
      	a) TYPE_SDAD renamed to TYPE_RBC and taken to scsi.h
      	b) in sbp2.c remapping of TYPE_RPB to TYPE_DISK turned off
      	c) relevant places in midlayer and sd.c taught to accept TYPE_RBC
      	d) sd.c::sd_read_cache_type() looks into page 6 when dealing with
      TYPE_RBC - these guys have writeback cache flag there and are not guaranteed
      to have page 8 at all.
      	e) sd_read_cache_type() got an extra sanity check - it checks that
      it got the page it asked for before using its contents.  And screams if
      mismatch had happened.  Rationale: there are broken devices out there that
      are "helpful" enough to go for "I don't have a page you've asked for, here,
      have another one".  For example, PL3507 had been caught doing just that...
      	f) sbp2 sets sdev->use_10_for_rw and sdev->use_10_for_ms instead
      of bothering to remap READ6/WRITE6/MOD_SENSE, so most of the conversions
      in there are gone now.
      
      	Incidentally, I wonder if USB storage devices that have no
      mode page 8 are simply RBC ones.  I haven't touched that, but it might
      be interesting to check...
      Signed-off-by: default avatarAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      631e8a13
    • Matthew Wilcox 's avatar
      [SCSI] sym2 version 2.2.1 · 53222b90
      Matthew Wilcox authored
      sym2 version 2.2.1:
       - Fix MMIO BAR detection (Thanks to Bob Picco)
       - Fix odd-sized transfers with a wide bus (Thanks to Larry Stephens)
       - Write posting fixes (Thanks to Thibaut Varene)
       - Change one of the GFP_KERNEL allocations back into a GFP_ATOMIC
       - Make CCB_BA() return a script-endian address
       - Move range checks and disabling of devices from the queuecommand path
         to slave_alloc()
       - Remove a warning in sym_setup_cdb()
       - Keep a pointer to the scsi_target instead of the scsi_dev in the tcb
       - Remove a check for the upper layers passing an oversized cmd
       - Replace CAM_REQ_ constants with the Linux DID_ constants
       - Replace CAM_DIR_ constants with the Linux DMA_ constants
       - Inline sym_read_parisc_pdc() on non-parisc systems
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      53222b90
    • Stuart Hayes's avatar
      [PATCH] ide-scsi: kmap scatter/gather before doing PIO · 41bb4c43
      Stuart Hayes authored
      From: Stuart Hayes <Stuart_Hayes@dell.com>
      
      The system can panic with a null pointer dereference using ide-scsi if
      PIO is being done on scatter gather pages that are in high memory,
      because page_address() returns 0.  We are actually seeing this using a
      tape drive.  This patch will kmap_atomic() the pages before performing
      PIO.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      41bb4c43
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] convert IDE device drivers to driver-model · 8604affd
      Bartlomiej Zolnierkiewicz authored
      * add ide_bus_match() and export ide_bus_type
      * split ide_remove_driver_from_hwgroup() out of ide_unregister()
      * move device cleanup from ide_unregister() to drive_release_dev()
      * convert ide_driver_t->name to driver->name
      * convert ide_driver_t->{attach,cleanup} to driver->{probe,remove}
      * remove ide_driver_t->busy as ide_bus_type->subsys.rwsem
        protects against concurrent ->{probe,remove} calls
      * make ide_{un}register_driver() void as it cannot fail now
      * use driver_{un}register() directly, remove ide_{un}register_driver()
      * use device_register() instead of ata_attach(), remove ata_attach()
      * add proc_print_driver() and ide_drivers_show(), remove ide_drivers_op
      * fix ide_replace_subdriver() and move it to ide-proc.c
      * remove ide_driver_t->drives, ide_drives and drives_lock
      * remove ide_driver_t->drivers, drivers and drivers_lock
      * remove ide_drive_t->driver and DRIVER() macro
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      8604affd
    • Albert Lee's avatar
      [PATCH] libata: Fix zero sg_dma_len() on 64-bit platform · 32529e01
      Albert Lee authored
      When testing ATAPI PIO data transfer on the ppc64 platform,  __atapi_pio_bytes() got zero when
      sg_dma_len() is used. I checked the <asm-ppc64/scatterlish.h>, the struct scatterlist is defined as:
      
      struct scatterlist {
      	struct page *page;
      	unsigned int offset;
      	unsigned int length;
      
      	/* For TCE support */
      	u32 dma_address;
      	u32 dma_length;
      };
      
      #define sg_dma_address(sg)	((sg)->dma_address)
      #define sg_dma_len(sg)		((sg)->dma_length)
      
      So, if the scatterlist is not DMA mapped, sg_dma_len() will return zero on ppc64.
      The same problem should occur on the x86-64 platform.
      On the i386 platform, sg_dma_len() returns sg->length, that's why the problem does not occur on an i386.
      
      Changes:
      - Use sg->length if the scatterlist is not DMA mapped (yet).
      Signed-off-by: default avatarAlbert Lee <albertcc@tw.ibm.com>
      32529e01
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
  2. 25 May, 2005 27 commits