03 Sep, 2013

2 commits


30 Jan, 2013

1 commit


29 Jan, 2013

1 commit

  • Issue:
    Mailbox command timed out after switching from polling mode to interrupt mode.

    Events:-
    1. Mailbox interrupts are disabled
    2. FW generates AEN and at same time driver enables Mailbox Interrupt
    3. Driver issues new mailbox to Firmware

    In above case driver will not get AEN interrupts generated by FW in step #2 as
    FW generated this AEN when interrupts are disabled. During the same time
    driver enabled the mailbox interrupt, so driver will not poll for interrupt.
    Driver will never process AENs generated in step #2 and issues new mailbox to
    FW, but now FW is not able to post mailbox completion as AENs generated before
    are not processed by driver.

    Fix:
    Enable Mailbox / AEN interrupts before initializing FW in case of ISP83XX.
    This will make sure we process all Mailbox and AENs in interrupt mode.

    Signed-off-by: Vikas Chaudhary
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     

24 Sep, 2012

3 commits


20 Jul, 2012

1 commit


30 May, 2012

2 commits

  • Added support to capture dump (Minidump) which allows us to
    catpure a snapshot of the firmware/hardware states at the time
    of firmware failure

    Signed-off-by: Tej Parkash
    Signed-off-by: Shyam Sundar
    Signed-off-by: Vikas Chaudhary
    Signed-off-by: James Bottomley

    Tej Parkash
     
  • Update the session and connection parameter before sending
    connection logged in event to iscsiadm because in some
    scenario logout may come in just after we send the logged
    in event to user, which free up session, connection and ddb,
    but DPC is still updating session and connect parameter
    which can lead to panic.

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Signed-off-by: James Bottomley

    Manish Rangankar
     

19 Feb, 2012

1 commit


16 Jan, 2012

1 commit


14 Dec, 2011

2 commits

  • When the qla4xxx_get_fwddb_entry returns QLA_ERROR
    the nex_idx is not updated,
    for (idx = 0; idx < max_ddbs; idx = next_idx) {
    ret = qla4xxx_get_fwddb_entry(ha, idx, NULL, 0, NULL,
    &next_idx, &state, &conn_err,
    NULL, NULL);
    if (ret == QLA_ERROR)
    continue;

    This means there is a risk that the 'idx < max_ddbs' condition will never
    met and the loop will loop forever.
    Fix this by explicitly increasing the next_idx in the error condition.

    Maybe a break instead of continue is more appropriate, leaving the decision
    on the qlogic maintainer.

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

    Tomas Henzl
     
  • With open-iscsi support, target entries persisted in the FLASH were not
    login. Added support in the qla4xxx driver to do the login on probe
    time to the target entries saved in the FLASH by user.
    With this changes upgrade to the new kernel with open-iscsi support in
    qla4xxx will ensure users original target entries login on driver load

    Signed-off-by: Manish Rangankar
    Signed-off-by: Ravi Anand
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

17 Oct, 2011

4 commits

  • Devices are getting blocked during continuous link up and down.
    Solution is, during relogin unblock the session, using iscsi_conn_start,
    before sending connection logged in event.

    JIRA Key: UPSISCSI-138

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • During link down, iscsid tries to do re-login to failed session. In case of
    link down-up-down, LLD was sending connection login failed event to iscsid,
    which is destroying the session, instead we have to continue re-login by
    sending connection err event.

    JIRA Key: UPSISCSI-134

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • Unable to login to session if login-logout issued consecutively for
    multiple sessions. Solution is to clear idx in DDB map on the basis
    of no-active connection asynchronous event (AEN).

    JIRA Key: UPSISCSI-135

    Signed-off-by: Manish Rangankar
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • Firmware reserves DDBs if there are entries in the FLASH.
    So there are no free DDBs left when a iSCSI login is initiated
    by user space tool like iscsiadm.
    Since now login is not controlled by firmware, LLD need to free
    up the DDBs after firmware init. This will ensure free DDBs are
    available for iSCSI logins using iscsiadm.

    JIRA Key: UPSISCSI-151

    Signed-off-by: Lalit Chandivade
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Lalit Chandivade
     

27 Aug, 2011

4 commits

  • Added board_id, fw_state, phy_port_cnt, phy_port_num,
    iscsi_func_cnt, hba_model

    Signed-off-by: Harish Zunjarrao
    Signed-off-by: Vikas Chaudhary
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • 1. Remove device database entry (ddb) state.
    2. Remove device database (DDB) list building.
    With open-iscsi integration the logins to the target devices are
    handled by the user space. So the information of target is now
    maintained in the iscsi_session object. This is handled at
    libiscsi level so there is no need to maintain a list of DDBs in
    the qla4xxx LLD.
    3. qla4xxx: Remove add_device_dynamically.
    Since autologin in FW is disabled with open-iscsi integration,
    driver will never get an AEN for which driver has not requested
    a DDB index. So remove the add_device_dynamically function.
    4. Remove qla4xxx_tgt_dscvr
    Since firmware autologin is disabled this function will not work.
    Now user has the ability to do the target discovery and login to
    each target individually. Firwmare will not do the login on its own.
    5. Remove relogin related code
    All relogin is handled by userspace now. qla4xxx just need to
    notify userspace of a connection failure, this triggers the
    relogin.
    6. Remove add_session and alloc_session
    Now qla4xxx uses iscsi_session_setup that would do the necessary
    allocations for session and ddb_entry.

    Signed-off-by: Manish Rangankar
    Signed-off-by: Lalit Chandivade
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • Add scsi_transport_iscsi hooks in qla4xxx to support
    iSCSI session management using iscsiadm.

    This patch is based on discussion here
    http://groups.google.com/group/open-iscsi/browse_thread/thread/e89fd888baf656a0#

    Now users can use iscsiadm to do target discovery and do login/logout to
    individual targets using the qla4xxx iSCSI class interface.

    This patch leaves some dead code, but to make it easier to review
    we are leaving and in the next patch we will remove that old code.

    V2 - NOTE: Added code to avoid waiting for AEN during login/logout
    in the driver, instead added a kernel to user event
    to notify iscsid about login status. Because of this
    iscsid will not get blocked.

    Signed-off-by: Manish Rangankar
    Signed-off-by: Lalit Chandivade
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Manish Rangankar
     
  • - Move all ipaddress related param to "struct ipaddress_config"
    from "struct scsi_qla_host"
    - update function - qla4xxx_update_local_ip()
    - Rename IPOPT_IPv4_PROTOCOL_ENABLE to IPOPT_IPV4_PROTOCOL_ENABLE

    Signed-off-by: Vikas Chaudhary
    [update for new ISCSI_IFACE values]
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     

25 May, 2011

1 commit


31 Mar, 2011

1 commit


24 Mar, 2011

4 commits


22 Dec, 2010

1 commit


26 Oct, 2010

2 commits

  • Since interrupts are registered in start_firmware(load_risc) for 82xx,
    free them if init_firmware fails.

    Signed-off-by: Vikas Chaudhary
    Signed-off-by: Karen Higgins
    Signed-off-by: Ravi Anand
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     
  • * cleanup function qla4xxx_recovery_timeout
    - No need to wakeup dpc thread from function
    qla4xxx_recovery_timeout() as we are not doing anything
    in do_dpc() thread when wakeup from
    qla4xxx_recovery_timeout()

    * cleanup function qla4xxx_wait_for_hba_online
    - Remove hard coded value from qla4xxx_wait_for_hba_online().

    * cleanup function qla4xxx_start_firmware_from_flash
    - display seconds

    * cleanup function qla4_8xxx_load_risc
    - Remove redundant code.

    * cleanup function qla4xxx_get_firmware_status
    - update debug statement

    * cleanup function qla4_8xxx_try_start_fw
    - update return status

    Signed-off-by: Vikas Chaudhary
    Signed-off-by: Ravi Anand
    Reviewed-by: Mike Christie
    Signed-off-by: James Bottomley

    Vikas Chaudhary
     

07 Aug, 2010

3 commits


05 Aug, 2010

1 commit

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     

28 Jul, 2010

5 commits