Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cfb01381f4ffcd05aefe76c74911ba6bc996e8ba
Commit:     cfb01381f4ffcd05aefe76c74911ba6bc996e8ba
Parent:     907293d78872ee492ce6a114258dd853ec5082ae
Author:     Stefan Richter <[EMAIL PROTECTED]>
AuthorDate: Tue Jan 23 21:20:08 2007 +0100
Committer:  Stefan Richter <[EMAIL PROTECTED]>
CommitDate: Fri Mar 9 22:02:44 2007 +0100

    firewire: fw-sbp2: set command set related device flags
    
    Copied from sbp2:
      - enable spin-up by START STOP UNIT for all devices
      - enable INQUIRY (36) workaround on demand
      - prefer READ/ WRITE (10) over (6) for all devices
      - prefer MODE SENSE (10) for MMC devices
    
    Signed-off-by: Stefan Richter <[EMAIL PROTECTED]>
---
 drivers/firewire/fw-sbp2.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c
index 4e42b73..54cad3a 100644
--- a/drivers/firewire/fw-sbp2.c
+++ b/drivers/firewire/fw-sbp2.c
@@ -968,11 +968,27 @@ static int sbp2_scsi_queuecommand(struct scsi_cmnd *cmd, 
scsi_done_fn_t done)
        return 0;
 }
 
+static int sbp2_scsi_slave_alloc(struct scsi_device *sdev)
+{
+       struct fw_unit *unit = (struct fw_unit *)sdev->host->hostdata[0];
+       struct sbp2_device *sd = unit->device.driver_data;
+
+       sdev->allow_restart = 1;
+
+       if (sd->workarounds & SBP2_WORKAROUND_INQUIRY_36)
+               sdev->inquiry_len = 36;
+       return 0;
+}
+
 static int sbp2_scsi_slave_configure(struct scsi_device *sdev)
 {
        struct fw_unit *unit = (struct fw_unit *)sdev->host->hostdata[0];
        struct sbp2_device *sd = unit->device.driver_data;
 
+       sdev->use_10_for_rw = 1;
+
+       if (sdev->type == TYPE_ROM)
+               sdev->use_10_for_ms = 1;
        if (sdev->type == TYPE_DISK &&
            sd->workarounds & SBP2_WORKAROUND_MODE_SENSE_8)
                sdev->skip_ms_page_8 = 1;
@@ -1004,6 +1020,7 @@ static struct scsi_host_template scsi_driver_template = {
        .name                   = "SBP-2 IEEE-1394",
        .proc_name              = (char *)sbp2_driver_name,
        .queuecommand           = sbp2_scsi_queuecommand,
+       .slave_alloc            = sbp2_scsi_slave_alloc,
        .slave_configure        = sbp2_scsi_slave_configure,
        .eh_abort_handler       = sbp2_scsi_abort,
        .this_id                = -1,
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to