1. 28 7月, 2010 3 次提交
    • J
      [SCSI] bfa: vport fixes · c54d557c
      Jing Huang 提交于
      This patch fixes 3 bugs in vport create/delete.
      1) Replace scsi_add_host() with scsi_add_host_with_dma()
      2) Fix rmmod hang when there are vports configured. This is due to a race
      condition between the workqueue destroy in pci remove context and the vport
      delete works being handled. The fix is to use a counter to track the
      vport delete work, so that workqueue destroy will not be called until all
      configured vports are deleted from workqueue.
      3) Fix rmmmod crash when there are PBC vport configured. PBC is not allowed
      to be deleted dynamically. However, if someone try to delete it, it leaves the
      vport is wrong state. The fix is to restore the vport back to original state
      when the attempt to delete pbc vport delete is failed.
      Signed-off-by: NJing Huang <huangj@brocade.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      c54d557c
    • J
      [SCSI] bfa: statistics and typo fix · b85d045e
      Jing Huang 提交于
      - Added time stamp for fcport stats reset
      - Added new fileds to the statistics data structures.
      - Typo removal and minor cleanup.
      Signed-off-by: NJing Huang <huangj@brocade.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      b85d045e
    • J
      [SCSI] bfa: PBC vport create · d9883548
      Jing Huang 提交于
      This patch enables creating PBC vport.
      During fcs init, fcs will read PBC vport using bfa iocfc API and invoke fcb
      callback to add the pbc vport entries into a list. The pbc vport list will be
      traversed in the subsequent pci probe process and vport will be created using
      fc transport provided vport create function.
      Signed-off-by: NJing Huang <huangj@brocade.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      d9883548
  2. 11 4月, 2010 3 次提交
  3. 07 3月, 2010 4 次提交
  4. 04 3月, 2010 1 次提交
    • K
      [SCSI] bfa: Resume BFA operations after firmware mismatch is resolved. · e6714324
      Krishna Gudipati 提交于
      bfad.c & bfad_drv.h:
        * Created a kernel thread from pci_probe that does the bfad start
          operations after BFA init done on a firmware mismatch.
        * The kernel thread on a fw mismatch waits for an event from IOC
          call back and is woken up from bfa_cb_init() on BFA init success.
        * In normal cases of no firmware mismatch this thread is terminated
          in pci_probe.
      
      bfa_fcs_lport.c, fabric.c, fcs_lport.h & vport.c:
        * Split the lport init to attach time and init time code, so that
          proper config attributes are set after firmware mismatch.
      
      bfa_iocfc.c:
        * Handle an IOC timer issue, where the IOC timer would expire before
          the init completion and send Init fail event to the driver,
          however IOC init continues and completes successfully at the later
          stage. The bfa and driver were not handling this kind of deferred
          init completion.
      Signed-off-by: NKrishna Gudipati <kgudipat@brocade.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      e6714324
  5. 02 10月, 2009 1 次提交