1. 27 Apr, 2009 4 commits
    • James Smart's avatar
      [SCSI] lpfc 8.3.1: misc fixes/changes · a257bf90
      James Smart authored
      8.3.1 Fixes/Changes :
      
      - Fix incorrect byte-swapping on word 4 of IOCB (data length) which
        caused LUNs to not be discovered on big-endian (e.g. PPC)
      
      - Remove a bad cast of MBslimaddr which loses the __iomem (sparse)
      
      - Make lpfc_debugfs_mask_disc_trc static (sparse)
      
      - Correct misspelled word BlockGuard in lpfc_logmsg.h comment
      
      - Replaced repeated code segment for canceling IOCBs from a list with
        a function call, lpfc_sli_cancel_iocbs().
      
      - Increased HBQ buffers to support 40KB SSC sequences.
      
      - Added sysfs interface to update speed and topology parameter without
        link bounce.
      
      - Fixed bug with sysfs fc_host WWNs not being updated after changing
        the WWNs.
      
      - Check if the active mailbox is NULL in the beginning of the mailbox
        timeout handler - fixes panic in the mailbox timeout handler while
        running IO stress test
      
      - Fixed system panic in lpfc_pci_remove_one() due to ndlp indirect
        reference to phba through vport
      
      - Removed de-reference of scsi device after call to scsi_done() to fix
        panic in scsi completion path while accessing scsi device after
        scsi_done is called.
      
      - Fixed "Nodelist not empty" message when unloading the driver after
        target reboot test
      
      - Added LP2105 HBA model description
      
      - Added code to print all 16 words of unrecognized ASYNC events
      
      - Fixed memory leak in vport create + delete loop
      
      - Added support for handling dual error bit from HBA
      
      - Fixed a driver NULL pointer dereference in lpfc_sli_process_sol_iocb
      
      - Fixed a discovery bug with FC switch reboot in lpfc_setup_disc_node
      
      - Take NULL termintator into account when calculating available buffer space
      Signed-off-by: default avatarJames Smart <james.smart@emulex.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      a257bf90
    • James Smart's avatar
    • FUJITA Tomonori's avatar
      [SCSI] sg: return EFAULT for an invalid user address · e7ee4cc0
      FUJITA Tomonori authored
      blk_rq_unmap_user() returns EFAULT if a program passes an invalid
      address to kernel (the kernel fails to copy data to user space). sg
      needs to pass the returned value to user space instead of ignoring
      it. Before the block layer conversion, sg returns EFAULT
      properly. This restores the old behavior.
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Acked-by: default avatarDouglas Gilbert <dgilbert@interlog.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      e7ee4cc0
    • Peter Jones's avatar
      [SCSI] sr: report more accurate drive status after closing the tray. · 96bcc722
      Peter Jones authored
      So, what's happening here is that the drive is reporting a sense of
      2/4/1 ("logical unit is becoming ready") from sr_test_unit_ready(), and
      then we ask for the media event notification before checking that result
      at all.  The check_media_event_descriptor() call isn't getting a check
      condition, but it's also reporting that the tray is closed and that
      there's no media.  In actuality it doesn't yet know if there's media or
      not, but there's no way to express that in the media event status field.
      
      My current thought is that if it told us the device isn't yet ready, we
      should return that immediately, since there's nothing that'll tell us
      any more data than that reliably:
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
      96bcc722
  2. 26 Apr, 2009 11 commits
  3. 24 Apr, 2009 25 commits