31 Aug, 2011

6 commits


29 Aug, 2011

23 commits

  • sd_ioctl() still use printk() for log output.
    It should use sd_printk() instead of printk(), as well as other sd_*.

    All SCSI messages should output via s*_printk() instead of printk().

    Signed-off-by: Nao Nishijima
    Signed-off-by: James Bottomley

    Nao Nishijima
     
  • This patch allows the user to set an "alias" of the disk via sysfs interface.

    This patch only adds a new attribute "alias" in gendisk structure.
    To show the alias instead of the device name in kernel messages,
    we need to revise printk messages and use alias_name() in them.

    Example:
    (current) printk("disk name is %s\n", disk->disk_name);
    (new) printk("disk name is %s\n", alias_name(disk));

    Users can use alphabets, numbers, '-' and '_' in "alias" attribute. A disk can
    have an "alias" which length is up to 255 bytes. This attribute is write-once.

    Suggested-by: James Bottomley
    Suggested-by: Jon Masters
    Signed-off-by: Nao Nishijima
    Signed-off-by: James Bottomley

    Nao Nishijima
     
  • The problem is that if we are doing a scsi scan then the device goes
    into recovery then we will wait for the recovery to complete. It waits
    because scsi-ml will send inquiries or report luns and the queueing code
    will have been blocked due to the host not being ready. However, if we
    are in recovery and then a scan is started the scan will silently fail
    and some devices will not be added.

    It is easy to hit the problem where devices do not show up with
    FC where we are doing tests that disrupt the target controllers.
    When the controller is disruprted (reboot, or setting firmware, etc),
    and we cause the dev loss tmo to fire then devices will be removed
    Then when the problem has been fixed, the rport will be scanned and
    devices should be added back. But if we cause another disruption before
    scanning has started then devices will not get added back. If the problem
    is not started until the scan is started then the devices will be added
    back.

    This patch fixes that problem by not failing scans when the host
    is in recovery. We will let scsi-ml send the IO and let the queueing
    and scsi error handling deal with it like is done if we went into
    recovery while scanning.

    For recovery cases where the host is being torn down then with the
    patch we will still fail the scan since there is not point in scanning.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • Since it is already called in the right context with rtnl_lock and dev_mutex
    held.

    Signed-off-by: Bhanu Prakash Gollapudi
    Signed-off-by: James Bottomley

    Bhanu Prakash Gollapudi
     
  • Signed-off-by: Alex Iannicelli
    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • Fix SYSFS interface issues.

    - In the lpfc_sli4_pdev_status_reg_wait() routine, after initial 100ms delay
    following write to PHYSDEV_CONTROL register for the firmware reaction, check
    the RN bit and ERR bit of the SLIPORT_STATUS register. If none of them
    became 1, the previous PHYSDEV_CONTROL register should be considered failed
    due to lack of privilege and error for no permission should be returned
    immediately without getting into the wait for RDY bits on the SLIPORT_STATUS
    register.
    - Remove the driver check on dev->is_physfn before proceed to perform the
    PHYSDEV_CONTROL register write, and let the PCI function's privilege
    setting and driver handling of PHYSDEV_CONTROL register write failure to
    handle the reset-ability through the SLI port.
    - Added key to ctlreg_write to prevent unauthorized or unexpected write to
    the control register.
    - Change return to EACCES for sysfs access that are failed because hba_reset
    is disabled.

    Signed-off-by: Alex Iannicelli
    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • Fix HBA initialization issues

    - Swap all values that come from the firmware image on little endian systems.
    Created a new bf_get_be macro that does the same as the bf_get_le macro but
    for big endian data instead of little endian data.
    - Moved the incrementing of temp_offset after the copy
    fixed the write object loop to use temp_offset to figure out where the end
    of the image is instead of offset.
    - Added the necessary codes for properly bringing the driver instance offline
    and then trying to bring the port back online with the PCI function IP reset.
    If it fails to bring the SLI port back online, it will fall through to
    bringing the SLI port to HBA error offline.
    - Add a call in the probe_one_s3 and probe_one_s4 routines to get the Modeldesc
    - Change OCe50100 to OCe15100
    - Made the error log also include the PCI BAR bitmap returned from kernel call
    pci_select_bars().

    Signed-off-by: Alex Iannicelli
    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • Fix issues pertaining to SCSI/FC protocol.

    - Allow frames destined to 0xFFFFFE to be processed by the driver by matching
    that DID with the physical port.
    - Call lpfc_sli_issue_iocb with context1 set to ndlp
    - In echo command accept function, adjust memcpy to limit memcpy to 1K
    - Set LPFC_SLI3_BG_ENABLED properly upon completion.
    - Skip the INIT_VFI call in lpfc_register_fcf if the FCF is already
    registered and go immediately to initial flogi.
    - use "status" variable instead of "ret" variable to hold the return of the
    fc_block_scsi_eh.

    Signed-off-by: Alex Iannicelli
    Signed-off-by: James Smart
    Signed-off-by: James Bottomley

    James Smart
     
  • This patch adds call to pci_disable_device during
    rmmod and shutdown. The lack of this call was causing hang in
    insmod - rmmod loop test

    Signed-off-by: Jayamohan Kallickal
    Signed-off-by: James Bottomley

    Jayamohan Kallickal
     
  • This patch adds a shutdown routine. It fixes a bug where when be2net
    and be2iscsi are both used be2iscsi was not cleaning up its resources
    properly causing be2net to fail to get loaded when the system is
    rebooted.

    Signed-off-by: Jayamohan Kallickal
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Jayamohan Kallickal
     
  • Fix be2iscsi driver to use a separate pointer for each irq action->name
    field and avoid display corruption in /proc/interrupts. The be2iscsi driver
    was using a single static array in a function for the irq action->name field.
    This results in garbage output from /proc/interrupts

    The pointer for action->name is garbage and scribbles the output on the screen.

    This patch fixes the problem:

    156: 0 0 0 0 0 0
    0 0 0 0 0 0 0
    0 0 0 0 0 0 0
    0 0 0 0 PCI-MSI-X beiscsi_msix_0017

    This patch is based on Prarit's patch here:
    http://www.spinics.net/lists/linux-scsi/msg52325.html
    but I have fixed up the failure paths and removed
    redundant check for !i suggested by Eike.

    Signed-off-by: Jayamohan Kallickal
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Jayamohan Kallickal
     
  • Since active_mask is first assigned in an "else" block, the compiler throws
    a warning saying that the active_mask variable may be used uninitialized in
    a print statement later. Initialize active_mask to 0 in the declaration to
    stop the warning.

    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Chad Dupuis
     
  • Signed-off-by: Giridhar Malavali
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Giridhar Malavali
     
  • Return sysfs error codes that match the conditions encountered.
    This prevents sysfs from retrying a request which is conditioned
    to fail under the current circumstance.

    Signed-off-by: Joe Carnuccio
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Joe Carnuccio
     
  • Provide bsg interface for updating VPD attached on the I2C serial bus.

    Signed-off-by: Joe Carnuccio
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Joe Carnuccio
     
  • Corrects the return value for the cases where read/write edc fails;
    this prevents sysfs from retrying the operation until forever.

    Corrects the printk width specifier for the first byte of buf.

    Signed-off-by: Joe Carnuccio
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Joe Carnuccio
     
  • Signed-off-by: Saurav Kashyap
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Saurav Kashyap
     
  • Signed-off-by: Saurav Kashyap
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Saurav Kashyap
     
  • Signed-off-by: Saurav Kashyap
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Saurav Kashyap
     
  • …to be changed dynamically.

    Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>

    Chad Dupuis
     
  • Driver is not releasing the lock if ql2xdontresethba is set, this might lead
    to a lockup.

    Signed-off-by: Saurav Kashyap
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Saurav Kashyap
     
  • [jejb: fix up checkpatch.pl errors]
    Signed-off-by: Saurav Kashyap
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Saurav Kashyap
     
  • Minidump allows us to catpure a snapshot of the firmware/hardware states at the
    time of failure for further analysis.

    [jejb: added missing #include
    Reported-by: Stephen Rothwell ]
    Signed-off-by: Giridhar Malavali
    Signed-off-by: Chad Dupuis
    Signed-off-by: James Bottomley

    Giridhar Malavali
     

27 Aug, 2011

11 commits