^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Known issues :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) * Please read the associated RELEASE-NOTES file !!!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * This source release intended for upstream kernel releases only!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Changes from 20050323 to 20050413
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Changed version number to 8.0.28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * Fixed build warning for 2.6.12-rc2 kernels: mempool_alloc now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) requires a function which takes an unsigned int for gfp_flags.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * Removed pci dma sync calls to coherent/consistent pci memory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) * Merged patch from Christoph Hellwig <hch@lst.de>: split helpers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) for fabric and nport logins out of lpfc_cmpl_els_flogi.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) * Removed sysfs attributes that are used to dump the various
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) discovery lists.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) * Fix for issue where not all luns are seen. Search all lists
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) other than unmap list in lpfc_find_target(). Otherwise INQUIRY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) to luns on nodes in NPR or other relevant states (PLOGI,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) PRLI...) are errored back and scan() terminates.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * Removed FC_TRANSPORT_PATCHESxxx defines. They're in 2.6.12-rc1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) * Compare return value of lpfc_scsi_tgt_reset against SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) midlayer codes SUCCESS/FAILED which that function returns rather
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) than SLI return code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) * Removed extraneous calls to lpfc_sli_next_iotag which should
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) only be called from lpfc_sli_submit_iocb. Also make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) lpfc_sli_next_iotag static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) * Added PCI ID for LP10000-S.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) * Changes in lpfc_abort_handler(): Return SUCCESS if we did not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) find command in both TX and TX completion queues. Return ERROR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) if we timed out waiting for command to complete after abort was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) issued.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * Zero-out response sense length in lpfc_scsi_prep_cmnd to prevent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) interpretation of stale sense length when the command completes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) - was causing spurious 0710 messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) * Moved clearing of host_scribble inside host_lock in IO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) completion path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) * Fixed a bunch of mixed tab/space indentation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) * Allow hex format numbers in sysfs attribute setting. Fix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) application hang when invalid numbers are used in sysfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) settings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) * Removed extra iotag allocation by lpfc_abort_handler.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) * Clear host_scribble in the scsi_cmnd structure when failing in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) queuecommand.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) * Changed logic at top of lpfc_abort_handler so that if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) command's host_scibble field is NULL, return SUCCESS because the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) driver has already returned the command to the midlayer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) Changes from 20050308 to 20050323
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) * Changed version number to 8.0.27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) * Changed a few lines from patch submitted by Christoph Hellwig
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) (3/19). MAILBOX_WSIZE * (uint32_t) is replaced with an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) equivalent MAILBOX_CMDSIZE macro.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) * Merged patch from Christoph Hellwig (3/19): some misc patches
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) against the latest drivers:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) - stop using volatile. if you need special ordering use memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) barriers but that doesn't seem to be the case here
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) - switch lpfc_sli_pcimem_bcopy to take void * arguments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) - remove typecast for constants - a U postfix marks them
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) unsigned int in C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) - add a MAILBOX_CMD_SIZE macro, as most users of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) MAILBOX_CMD_WSIZE didn't really want the word count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) - kill struct lpfc_scsi_dma_buf and embedded the two members
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) directly in struct lpfc_scsi_buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) - don't call dma_sync function on allocations from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) pci_pool_alloc - it's only for streaming mappings (pci_map_*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) * Merged patch from Christoph Hellwig (3/19) - nlp_failMask isn't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) ever used by the driver, just reported to userspace (and that in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) a multi-value file which is against the sysfs guidelines).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) * Change pci_module_init to pci_register_module() with appropriate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) ifdefs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) * Added #include <linux/dma-mapping.h> as required by the DMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 32bit and 64bit defines on some archs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) * Merged patch from Christoph Hellwig (03/19) - fix initialization
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) order - scsi_add_host must happen last from scsi POV. Also some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) minor style/comment fixups.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) * Fixed use of TRANSPORT_PATCHES_V2 by changing to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) FC_TRANSPORT_PATCHES_V2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Changes from 20050223 to 20050308
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) * Changed version number to 8.0.26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) * Revise TRANSPORT_PATCHES_V2 so that lpfc_target is removed and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) rport data is used instead. Removed device_queue_hash[].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) * Changed RW attributes of scan_down, max_luns and fcp_bind_method
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) to R only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) * Fixed RSCN handling during initial link initialization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) * Fixed issue with receiving PLOGI handling when node is on NPR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) list and marked for ADISC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) * Fixed RSCN timeout issues.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) * Reduced severity of "SCSI layer issued abort device" message to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) KERN_WARNING.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) * Feedback from Christoph Hellwig (on 2/5) - In the LPFC_EVT_SCAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) case the caller already has the target ID handly, so pass that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) one in evt_arg1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) * Fix compile warning/resultant panic in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) lpfc_register_remote_port().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) Changes from 20050215 to 20050223
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) * Changed version number to 8.0.25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) * Add appropriate comments to lpfc_sli.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) * Use DMA_64BIT_MASK and DMA_32BIT_MASK defines instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 0xffffffffffffffffULL & 0xffffffffULL respectively. Use pci
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) equivalents instead of dma_set_mask and also modify condition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) clause to actually exit on error condition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) * Restart els timeout handler only if txcmplq_cnt. On submission,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) mod_timer the els_tmofunc. This prevents the worker thread from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) waking up the els_tmo handler un-necessarily. The thread was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) being woken up even when there were no pending els commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) * Added new typedefs for abort and reset functions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) * Collapsed lpfc_sli_abort_iocb_xxx into a single function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) * Collapsed lpfc_sli_sum_iocb_xxx into a single function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) * Removed TXQ from all abort and reset handlers since it is never
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) * Fixed Oops panic in 8.0.23 (reported on SourceForge). The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) driver was not handling LPFC_IO_POLL cases correctly in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) fast_ring_event and was setting the tgt_reset timeout to 0 in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) lpfc_reset_bus_handler. This 0 timeout would not allow the FW
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) to timeout ABTS's on bad targets and allow the driver to have an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) iocb on two lists. Also split the lpfc_sli_ringtxcmpl_get
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) function into two routines to match the fast and slow completion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) semantics - ELS completions worked for the wrong reasons. Also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) provided new log message number - had two 0326 entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) * Removed unused #define LPFC_SCSI_INITIAL_BPL_SIZE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) * Removed unused struct lpfc_node_farp_pend definition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) * Removed unused #define LPFC_SLIM2_PAGE_AREA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) * Changed zeros used as pointers to NULL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) * Removed unneeded braces around single line in lpfc_do_work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) * Close humongous memory leak in lpfc_sli.c - driver was losing 13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) iocbq structures per LIP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) * Removed last of GFP_ATOMIC allocations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) * Locks are not taken outside of nportdisc, hbadisc, els and most
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) of the init, sli, mbox and ct groups of functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) * Fix comment for lpfc_sli_iocb_cmd_type to fit within 80 columns.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) * Replaced wait_event() with wait_event_interruptible().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) wait_event() puts the woker thread in an UNINTERRUPTIBLE state
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) causing it to figure in load average calculations. Also add a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) BUG_ON to the ret code of wait_event_interruptible() since the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) premise is that the worker thread is signal-immune.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) Changes from 20050208 to 20050215
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) * Changed version number to 8.0.24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) * Fixed a memory leak of iocbq structure. For ELS solicited iocbs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) sli layer now frees the response iocbs after processing it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) * Closed large memory leak -- we were losing 13 iocbq structures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) per LIP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) * Changing EIO and ENOMEM to -EIO and -ENOMEM respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) * Cleanup of lpfc_sli_iocb_cmd_type array and typing of iocb type.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) * Implemented Christoph Hellwig's feedback from 02/05: Remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) macros putLunHigh, putLunLow. Use lpfc_put_lun() inline instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) * Integrated Christoph Hellwig's feedback from 02/05: Instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) cpu_to_be32(), use swab16((uint16_t)lun). This is the same as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) "swab16() on LE" and "<<16 on BE".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) * Added updates for revised FC remote port patch (dev_loss_tmo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) moved to rport, hostdata renamed dd_data, add fc_remote_host()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) on shutdown).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) * Removed unnecessary function prototype.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) * Added code to prevent waking up worker thread after the exit of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) worker thread. Fixes panic seen with insmod/rmmod testing with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 70 disks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) * Integrated Christoph Hellwig's patch from 1/30: Make some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) variables/code static (namely lpfcAlpaArray and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) process_nodev_timeout()).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) * Integrated Christoph Hellwig's patch from 1/30: Use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) switch...case instead of if...else if...else if while decoding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) JDEC id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) Changes from 20050201 to 20050208
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) * Changed version number to 8.0.23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) * Make lpfc_work_done, lpfc_get_scsi_buf,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) lpfc_mbx_process_link_up, lpfc_mbx_issue_link_down and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) lpfc_sli_chipset_init static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) * Cleaned up references to list_head->next field in the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) * Replaced lpfc_discq_post_event with lpfc_workq_post_event.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) * Implmented Christoph Hellwig's review from 2/5: Check for return
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) values of kmalloc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) * Integrated Christoph Hellwig's patch from 1/30: Protecting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) scan_tmo and friends in !FC_TRANSPORT_PATCHES_V2 &&
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) !USE_SCAN_TARGET.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) * Integrated Christoph Hellwig's patch from 1/30: Some fixes in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) the evt handling area.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) * Integrated Christoph Hellwig's patch from 1/30: Remove usage of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) intr_inited variable. The interrupt initilization from OS side
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) now happens in lpfc_probe_one().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) * Integrated Christoph Hellwig's patch from 1/30: remove shim
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) lpfc_alloc_transport_attr - remove shim lpfc_alloc_shost_attrs -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) remove shim lpfc_scsi_host_init - allocate phba mem in scsi's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) hostdata readjust code so that they are no use after free's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) (don't use after scsi_host_put) - make lpfc_alloc_sysfs_attr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) return errors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) * Fixed panic in lpfc_probe_one(). Do not delete in a list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) iterator that is not safe.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) * Clean up fast lookup array of the fcp_ring when aborting iocbs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) * Following timeout handlers moved to the lpfc worker thread:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) lpfc_disc_timeout, lpfc_els_timeout, lpfc_mbox, lpfc_fdmi_tmo,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) lpfc_nodev_timeout, lpfc_els_retry_delay.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) * Removed unused NLP_NS_NODE #define.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) * Integrated Christoph Hellwig's patch from 1/30: remove unused
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) lpfc_hba_list; remove unused lpfc_rdrev_wd30; remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) lpfc_get_brd_no and use Linux provided IDR.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) * Changed board reset procedure so that lpfc_sli_send_reset()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) writes the INITFF bit and leaves lpfc_sli_brdreset() to clear
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) the bit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) * Removed outfcpio sysfs device attribute.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) * VPD changes: 1) Modify driver to use the model name and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) description from the VPD data if it exists 2) Rework use of DUMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) mailbox command to support HBAs with 256 bytes of SLIM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) * Fixed compile error for implicit definition of struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) scsi_target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) Changes from 20050124 to 20050201
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) * Changed version number to 8.0.22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) * Moved discovery timeout handler to worker thread. There are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) function calls in this function which are not safe to call from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) HW interrupt context.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) * Removed free_irq from the error path of HBA initialization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) This will fix the free of uninitialised IRQ when config_port
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) fails.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) * Make sure function which processes unsolicited IOCBs on ELS ring
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) still is called with the lock held.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) * Clear LA bit from work_ha when we are not supposed to handle LA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) * Fix double locking bug in the error handling part of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) lpfc_mbx_cmpl_read_la.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) * Implemented fast IOCB processing for FCP ring.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) * Since mboxes are now unconditionally allocated outside of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) lock, free them in cases where they are not used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) * Moved out a couple of GFP_ATOMICs in lpfc_disc_timeout, to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) before locks so that they can GFP_KERNEL instead. Also cleaned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) up code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) * Collapsed interrupt handling code into one function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) * Removed event posting and handling of solicited and unsolicited
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) iocbs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) * Remove ELS ring handling leftovers from the lpfc_sli_inter().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) * ELS ring (any slow ring) moved from the lpfc_sli_inter() into a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) worker thread. Link Attention, Mbox Attention, and Error
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) Attention, as well as slow rings' attention is passed to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) worker thread via worker thread copy of Host Attention
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) register. Corresponding events are removed from the event queue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) handling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) * Add entries to hba structure to delegate some functionality from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) the lpfc_sli_inter() to a worker thread.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) * Reduced used of GFP_ATOMIC for memory allocations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) * Moved locks deeper in order to change GFP_ATOMIC to GFP_KERNEL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) * IOCB initialization fix for Raw IO.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) * Removed qcmdcnt, iodonecnt, errcnt from lpfc_target and from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) * Added call to lpfc_els_abort in lpfc_free_node. Modified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) lpfc_els_abort to reset txq and txcmplq iterator after a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) iocb_cmpl call.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) * Fixed a use after free issue in lpfc_init.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) * Defined default mailbox completion routine and removed code in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) the sli layer which checks the mbox_cmpl == 0 to free mail box
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) resources.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) * In lpfc_workq_post_event, clean up comment formatting and remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) unneeded cast of kmalloc's return.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) * Removed loop which calls fc_remote_port_unblock and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) fc_remote_port_delete for every target as this same effect is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) accomplished by the scsi_remove_host call.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) * Minor cleanup of header files. Stop header files including
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) other header files. Removed sentinels which hide multiple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) inclusions. Removed unneeded #include directives.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) * Fixed memory leaks in mailbox error paths.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) * Moved lock from around of lpfc_work_done to lpfc_work_done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) itself.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) * Removed typedef for LPFC_WORK_EVT_t and left just struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) lpfc_work_evt to comply with linux_scsi review coding style.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) * Fixed some trailing whitespaces, spaces used for indentation and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) ill-formatting multiline comments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) * Bug fix for Raw IO errors. Reuse of IOCBs now mandates setting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) of ulpPU and fcpi_parm to avoid incorrect read check of Write IO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) and incorrect read length.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) Changes from 20050110 to 20050124
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) * Changed version number to 8.0.21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) * Removed unpleasant casting in the definition and use of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) lpfc_disc_action function pointer array.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) * Makefile cleanup. Use ?= operator for setting default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) KERNELVERSION and BASEINCLUDE values. Use $(PWD) consistently.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) * Removed call to lpfc_sli_intr from lpfc_config_port_post. All
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) Linux systems will service hardware interrupts while bringing up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) * Christoph Hellwig change request: Reorg of contents of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) lpfc_hbadisc.c, lpfc_scsi.h, lpfc_init.c, lpfc_sli.c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) lpfc_attr.c, lpfc_scsi.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) * Renamed discovery thread to lpfc_worker thread. Moved handling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) of error attention and link attention and mbox event handler to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) lpfc_worker thread.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) * Removed .proc_info and .proc_name from the driver template and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) associated code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) * Removed check of FC_UNLOADING flag in lpfc_queuecommand to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) determine what result to return.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) * Move modification of FC_UNLOADING flag under host_lock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) * Fix IOERR_RCV_BUFFER_WAITING handling for CT and ELS subsystem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) * Workaround firmware bug for IOERR_RCV_BUFFER_WAITING on ELS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) ring.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) * Fixed a couple lpfc_post_buffer problems in lpfc_init.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) * Add missing spaces to the parameter descriptions for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) lpfc_cr_delay, lpfc_cr_count and lpfc_discovery_threads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) * Lock before calling lpfc_sli_hba_down().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) * Fix leak of "host" in the error path in the remove_one() path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) * Fix comment for lpfc_cr_count. It defaults to 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) * Fix issue where we are calling lpfc_disc_done() recursively from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) lpfc_linkdown(), but list_for_each_entry_safe() is not safe for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) such use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) * Bump lpfc_discovery_threads (count of outstading ELS commands in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) discovery) to 32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) * If the SCSI midlayer tries to recover from an error on a lun
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) while the corresponding target is in the NPR state, lpfc driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) will reject all the resets. This will cause the target to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) moved to offline state and block all the I/Os. The fix for this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) is to delay the lun reset to a target which is not in MAPPED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) state until the target is rediscovered or nodev timeout is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) fired.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) Changes from 20041229 to 20050110
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) * Changed version number to 8.0.20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) * rport fix: use new fc_remote_port_rolechg() function instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) direct structure change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) * rport fix: last null pointer check
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) * Phase II of GFP_ATOMIC effort. Replaced iocb_mem_pool and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) scsibuf_mem_pool with kmalloc and linked list. Inserted list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) operations for mempool_alloc calls. General code cleanup. All
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) abort and reset routines converted. Handle_ring_event
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) converted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) * If the mbox_cmpl == lpfc_sli_wake_mbox_wait in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) lpfc_sli_handle_mb_event, pmb->context1 points to a waitq. Do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) not free the structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) * rport fixes: fix for rmmod crash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) * rport fixes: when receiving PRLI's, set node/rport role values
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) * rport fixes: fix for unload and for fabric port deletes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) * VPD info bug fix.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) * lpfc_linkdown() should be able to process all outstanding events
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) by calling lpfc_disc_done() even if it is called from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) lpfc_disc_done() Moving all events from phba->dpc_disc to local
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) local_dpc_disc prevents those events from being processed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) Removing that queue. From now on we should not see "Illegal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) State Transition" messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) * Release host lock and enable interrupts when calling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) del_timer_sync()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) * All related to rports: Clean up issues with rport deletion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) Convert to using block/unblock on list remove (was del/add)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) Moved rport delete to freenode - so rport tracks node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) * rport fixes: for fport, get maxframe and class support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) information
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) * Added use of wait_event to work with kthread interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) * Ensure that scsi_transport_fc.h is always pulled in by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) lpfc_scsiport.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) * In remote port changes: no longer nulling target->pnode when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) removing from mapped list. Pnode get nulled when the node is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) freed (after nodev tmo). This bug was causing i/o received in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) the small window while the device was blocked to be errored w/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) did_no_connect. With the fix, it returns host_busy
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) (per the pre-remote port changes).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) * Merge in support for fc transport remote port use. This removes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) any consistent bindings within the driver. All scanning is now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) on a per-target basis driven by the discovery engine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) Changes from 20041220 to 20041229
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) * Changed version number to 8.0.19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) * Fixed bug for handling RSCN type 3. Terminate RSCN mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) properly after ADISC handling completes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) * Add list_remove_head macro. Macro cleans up memory allocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) list handling. Also clean up lpfc_reset_bus_handler - routine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) does not need to allocate its own scsi_cmnd and scsi_device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) structures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) * Fixed potential discovery bug, nlp list corrutpion fix potential
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) memory leak
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) * Part 1 of the memory allocation rework request by linux-scsi.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) This effort fixes the number of bdes per scsi_buf to 64, makes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) the scatter-gather count a module parameter, builds a linked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) list of scsi_bufs, and removes all dependencies on lpfc_mem.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) * Reverted lpfc_do_dpc, probe_one, remove_one to original
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) implementation. Too many problems (driver not completing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) initial discovery, and IO not starting to disks). Backs out
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) kthread patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) * Fix race condition in lpfc_do_dpc. If wake_up interrupt occurs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) while lpfc_do_dpc is running disc_done and the dpc list is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) empty, the latest insertion is missed and the schedule_timeout
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) does not wakeup. The sleep interval is MAX_SCHEDULE_TIMEOUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) defined as ~0UL >> 1, a very large number. Hacked it to 5*HZ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) for now.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) * Fixed bug introduced when discovery thread implementation was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) moved to kthread. kthread_stop() is not able to wake up thread
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) waiting on a semaphore and "modprobe -r lpfc" is not always
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) (most of the times) able to complete. Fix is in not using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) semaphore for the interruptable sleep.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) * Small Makefile cleanup - Remove remnants of 2.4 vs. 2.6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) determination.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) Changes from 20041213 to 20041220
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) * Changed version number to 8.0.18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) * Janitorial cleanup after removal of sliinit and ringinit[] ring
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) statistic is owned by the ring and SLI stats are in sli
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) * Integrated patch from Christoph Hellwig <hch@lst.de> Kill
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) compile warnings on 64 bit platforms: %variables for %llx format
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) specifiers must be caste to long long because %(u)int64_t can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) just be long on 64bit platforms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) * Integrated patch from Christoph Hellwig <hch@lst.de> Removes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) dead code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) * Integrated patch from Christoph Hellwig <hch@lst.de>: use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) kthread interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) * Print LPFC_MODULE_DESC banner in module init routine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) * Removed sliinit structure and ringinit[] array.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) * Changed log message number from 324 to 326 in lpfc_sli.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) * Wait longer for commands to complete in lpfc_reset_bus_handler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) and lpfc_reset_bus_handler. Also use schedule_timeout() instead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) of msleep() and add error message in lpfc_abort_handler()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) * When setting lpfc_nodev_tmo, from dev_loss set routine, make 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) sec minimum value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) * Functions which assume lock being held were called without lock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) and kernel complained about unlocking lock which is not locked.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) * Added code in linkdown to unreg if we know login session will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) terminated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) * Removed automap config parameter and fixed up use_adisc logic to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) include FCP2 devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) Changes from 20041207 to 20041213
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) * Changed version number to 8.0.17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) * Fix sparse warnings by adding __iomem markers to lpfc_compat.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) * Fix some sparse warnings -- 0 used as NULL pointer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) * Make sure there's a space between every if and it's (.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) * Fix some overly long lines and make sure hard tabs are used for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) indentation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) * Remove all trailing whitespace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) * Integrate Christoph Hellwig's patch for 8.0.14: if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) pci_module_init fails we need to release the transport template.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) (also don't print the driver name at startup, linux drivers can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) be loaded without hardware present, and noise in the log for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) that case is considered unpolite, better print messages only for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) hardware actually found).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) * Integrate Christoph Hellwig's patch for 8.0.14: Add missing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) __iomem annotations, remove broken casts, mark functions static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) Only major changes is chaning of some offsets from word-based to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) byte-based so we cans simply do void pointer arithmetics (gcc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) extension) instead of casting to uint32_t.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) * Integrate Christoph Hellwig's patch for 8.0.14: flag is always
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) LPFC_SLI_ABORT_IMED, aka 0 - remove dead code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) * Modified preprocessor #ifdef, #if, #ifndef to reflect upstream
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) kernel submission. Clean build with make clean;make and make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) clean;make ADVANCED=1 on SMP x86, 2.6.10-rc2 on RHEL 4 Beta
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) 1. IO with a few lips and a long cable pull behaved accordingly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) * Implement full VPD support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) * Abort handler will try to wait for abort completion before
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) returning. Fixes some panics in iocb completion code path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) Changes from 20041130 to 20041207
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) * Changed version number to 8.0.16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) * Hung dt session fix. When the midlayer calls to abort a scsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) command, make sure the driver does not complete post-abort
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) handler. Just NULL the iocb_cmpl callback handler and let SLI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) take over.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) * Add Read check that uses SLI option to validate all READ data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) actually received.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) Changes from 20041123 to 20041130
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) * Changed version number to 8.0.15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) * Ifdef'd unused "binary" attributes by DFC_DEBUG for clean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) compiles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) * Stop DID_ERROR from showing up along with QUEUE_FULL set by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) Clarion array (SCSI error ret. val. 0x70028) There is no need
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) for driver to hard fail command which was failed by the target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) * Fix for Scsi device scan bug reported on SourceForge. Driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) was returning a DID_ERROR in lpfc_handle_fcp_error causing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) midlayer to mark report luns as failing even though it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) succeeded.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) * Don't ignore SCSI status on underrun conditions for inquiries,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) test unit ready's, etc. This was causing us to lose
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) reservation conflicts, etc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) Changes from 20041018 to 20041123
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) * Changed version number to 8.0.14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) * Added new function "iterator" lpfc_sli_next_iocb_slot() which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) returns pointer to iocb entry at cmdidx if queue is not full.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) It also updates next_cmdidx, and local_getidx (but not cmdidx)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) * lpfc_sli_submit_iocb() copies next_cmdidx into cmdidx. Now it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) the only place were we are updating cmdidx.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) * lpfc_sli_update_ring() is split in to two --
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) lpfc_sli_update_ring() and lpfc_sli_update_full_ring().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) * lpfc_sli_update_ring() don't to read back correct value of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) cmdidx.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) * Simplified lpfc_sli_resume_iocb() and its use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) * New static function lpfc_sli_next_iocb(phba, pring, &piocb) to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) iterate through commands in the TX queue and new command (at the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) end).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) * Reduced max_lun to 256 (due to issues reported to some arrays).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) Fixed comment, and macro values so def=256, min=1, max=32768.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) * Fix an obvious typo/bug: kfree was used to free lpfc_scsi_buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) instead of mempool_free in lpfc_scsiport.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) * Suppress nodev_tmo message for FABRIC nodes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) * Fixed some usage of plain integer as NULL pointer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) * Bug fix for FLOGI cmpl, lpfc_els_chk_latt error path code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) cleanup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) * Fixup lpfc_els_chk_latt() to have Fabric NPorts go thru
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) discovery state machine as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) * Fixes to lpfc_els_chk_latt().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) * Use DID not SCSI target id as a port_id and add some missing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) locks in lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) * Changed eh_abort_handler to return FAILED if command is not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) found in driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) * Fix crash: paging request at virtual address 0000000000100108 -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) a result of removing from the txcmpl list item which was already
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) removed (100100 is a LIST_POISON1 value from the next pointer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) and 8 is an offset of the "prev") Driver runs out of iotags and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) does not handle that case well. The root of the proble is in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) initialization code in lpfc_sli.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) * Changes to work with proposed linux kernel patch to support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) hotplug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) * Zero out seg_cnt in prep_io failure path to prevent double sg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) unmap calls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) * Fix setting of upper 32 bits for Host Group Ring Pointers if in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) SLIM. Old code was inappropriately masking off low order bits.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) * Use scsi_[activate|deactivate]_tcq calls provided in scsi_tcq.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) * Integrated patch from Christoph Hellwig (hch@lst.de): don't call
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) pci_dma_sync_* on coherent memory. pci_dma_sync_* is need and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) must be used only with streaming dma mappings pci_map_*, not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) coherent mappings. Note: There are more consistent mappings
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) that are using pci_dma_sync calls. Probably these should be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) removed as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) * Modified lpfc_free_scsi_buf to accommodate all three scsi_buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) free types to alleviate miscellaneous panics with cable pull
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) testing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) * Set hotplug to default 0 and lpfc_target_remove to not remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) devices unless hotplug is enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) * Fixed discovery bug: plogi cmpl uses ndlp after its freed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) * Fixed discovery bug: rnid acc cmpl, can potentially use ndlp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) after its freed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) * Modularize code path in lpfc_target_remove().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) * Changes to support SCSI hotplug (ifdef'ed out because they need
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) kernel support USE_SCAN_TARGET requires kernel support to export
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) the interface to scsi_scan_target and to move the SCAN_WILD_CARD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) define to a general scsi header file. USE_RESCAN_HOST requires
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) kernel support to export an interface to scan_scsi_host() with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) the rescan flag turned on).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) * Removed redundant variable declaration of lpfc_linkdown_tmo.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) * Fix for large port count remove test.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) * Added check to see if BAR1 register is valid before using BAR1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) register for programming config_port mail box command.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) * Added lpfc_scsi_hotplug to enable/disable driver support of SCSI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) hotplug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) * Changed lpfc_disc_neverdev() to lpfc_disc_illegal() and changed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) lpfc_disc_nodev() to lpfc_disc_noop(). Adjusted appropriate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) events to use these routines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) * Add support for SCSI device hotplug.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) * Take dummy lpfc_target's into account for lpfc_slave_destroy().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) * Bug fix to store WWPN / WWNN in NameServer / FDMI lpfc_nodelist
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) * Added slavecnt in lpfc_target for diagnostic purposes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) * Added lpfc_hba load/unload flags to take care of special cases
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) for add/remove device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) * Have target add/remove delay before scanning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) * Have rmmod path cleanup blocked devices before scsi_remove_host.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) * Added a #define for msleep for 2.6.5 kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) * In reset bus handler if memory allocation fails, return FAILED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) and not SUCCESS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) * Have lpfc eh handlers, bus_reset and lun_reset, wait for all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) associated I/Os to complete before returning.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) * Fix memset byte count in lpfc_hba_init so that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) LP1050 would initialize correctly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) * Backround nodev_timeout processing to DPC This enables us to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) unblock (stop dev_loss_tmo) when appopriate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) * Fix array discovery with multiple luns. The max_luns was 0 at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) the time the host structure was initialized. lpfc_cfg_params
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) then set the max_luns to the correct value afterwards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) * Remove unused define LPFC_MAX_LUN and set the default value of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) lpfc_max_lun parameter to 512.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) * Reduced stack usage of lpfc_hba_init.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) * Cleaned up the following warning generated by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) scripts/checkincludes.pl lpfc_fcp.c: scsi/scsi_cmnd.h is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) included more than once.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) * Replaced "set_current_state(TASK_UNINTERRUPTIBLE);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) schedule_timeout(timeout)" with "msleep(timeout)".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) * Fixnode was losing starget when rediscovered. We saw messages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) like: lpfc 0000:04:02.0: 0:0263 Cannot block scsi target as a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) result. Moved starget field into struct lpfc_target which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) referenced from the node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) * Add additional SLI layer logging in lpfc_sli.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) * Ignore more unexpected completions in lpfc_nportdisc.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) * Can not call lpfc_target_unblock from the soft interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) context. It seems to be not nessasery to unblock target from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) nodev timeout.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) * Introduce and use less lethal event handler for unexpected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) events in lpfc_nportdisc.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) * Can not call fc_target_(un)block() functions with interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) disabled in lpfc_scsiport.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) * Added new configuration parameter, lpfc_max_luns range 1-32768,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) default 32768.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) * Allow lpfc_fcp.c to call lpfc_get_hba_sym_node_name().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) * Increase nodev timeout from 20 seconds to 30 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) * Replace some kfree((void*)ptr) with kfree(ptr).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) * Make 3 functions static: lpfc_get_hba_sym_node_name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) lpfc_intr_prep and lpfc_setup_slim_access. Move lpfc_intr_prep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) and lpfc_setup_slim_access so they're defined before being used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) * Remove an unnecessary list_del() in lpfc_hbadisc.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) * Set nlp_state before calling lpfc_nlp_list() since this will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) potentially call fc_target_unblock which may cause a race in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) queuecommand by releasing host_lock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) * Since lpfc_nodev_tmo < dev_loss_tmo remove queuecommand
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) DID_BAD_TARGET return for now.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) * Fix a problem with rcv logo.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) * Remove unused portstatistics_t structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) * Remove #if 0 and unnecessary checks in lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) * Simplify lpfc_issue_lip: Extra layer of protection removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) * Grab lock before calling lpfc_sli_issue_mbox(phba, pmb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) MBX_NOWAIT) in lpfc_sli_issue_mbox_wait().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) Changes from 20040920 to 20041018
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) * Changed version number to 8.0.13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) * Hide some attributes using #ifndef DFC_DEBUG ... #endif.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) * Modify Makefile to (1) make BUILD_NO_DEBUG=1 will hide some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) (binary) attributes (2) make BUILD_FC_TRANS=0 will build driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) for 2.6.5 kernel with block/unblock patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) * Modified #ifdef names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) * Added support for proposed FC transport host attributes (which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) replaces some of the attributes we had local to the driver).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) Removed the binary statistics sysfs attribute.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) * Added extra ELS verbose logging for ELS responses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) * Added recognition for BUILD_FC_TRANS=2 to Makefile to define
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) FC_TRANS_VER2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) * Add a pointer for link stats allocation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) * Exported lpfc_get_hba_sym_node_name for use by FC_TRANS_VER2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) sysfs routines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) * Fix discovery problem in lip testing: if device sends an ELS cmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) (i.e. LOGO) before our FLOGI completes it should be LS_RJT'ed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) * Moved #defines around to provide target_add/remove for upstream
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) kernel deliverables only not SLES9. Provided ifdefs to #include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) target_block/unblock only if FC_TRANS_VER1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) * Add sanity check in lpfc_nlp_list move setting nlp_Target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) outside #ifdef.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) * Added a blocked member to the lpfc_target structure for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) block/unblock. This member allows the driver to know when to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) unblock for pci_remove_one or pci_add_one. #ifdef'd some more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) block/unblock stuff and removed some defensive checks from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) target_block/unblock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) * Moved + 5 second window to dev_loss_tmo setting and updated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) comments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) * Removed NULL target check from target_block/unblock and fixed up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) a few comments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) * Enable sysfs attributes on 2.6.5 kernels and remove extra
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) compatibility code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) * Remove any and all trailing whitespace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) * Added message 0718 and return error when dma_map_single fails.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) * Changed the fcpCntl2 commands to include an FCP_ prefix to get
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) rid of build warnings on later 2.6.9-rc kernels. Build
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) conflicts with scsi/scsi.h. Remove inclusions of scsi/scsi.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) from hbadisc.c, sli.c, and fcp.c since these modules had no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) dependencies on scsi.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) * Fixed a bug with RSCN handling. A RSCN received on one device,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) shouldn't affect other devices not referenced by the RSCN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) * Moved #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,6) to include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) lpfc_jedec_to_ascii to prevent warning in SLES 9.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) * Update Makefile to account for SLES 9 and scsi-target upstream
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) * This checkin provides block/unblock hooks for the upstream scsi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) target kernel and 2.6.5 on SLES9 SP1 with the block/unblock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) * Discovery changes regarding setting targetp->pnode and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) ndlp->nlp_Target Ensure fc_target_* routines are called properly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) from discovery. Remove list_del's from lpfc_cleanup(). Ensure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 674) all the lpfc_consistent_bind_* routines don't set any driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 675) structure objects.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 676) * Fix for timeout of READ_LA or READ_SPARAM mailbox command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 677) causing panic.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 678) * Cleanup list_del()'s for Discovery ndlp lists.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 679) * Bug fixes for some insmod/rmmod crashes, link down crashes and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 680) device loss crashes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 681) * Removed NLP_SEARCH_DEQUE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 682) * Call lpfc_target_unblock only if the targetp is nonNull and with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 683) the host_lock held.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 684) * Added qcmdcnt back along with misc bug fixes to discovery.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 685) * Changed tgt_io to outfcpio lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 686) * Fixed errors caused by LIP and cable pulls both with and without
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 687) block/unblock patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 688) * For now we have to call fc_target_unblock and fc_target_block
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 689) with interrupts enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 690) * Save seg_cnt from dma_map_sg. Save scatter-gather start address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 691) and pass back to dma_unmap_sg in error with seg_cnt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 692) * Incorporating block/unblock calls into driver with ifdefs. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 693) change is supported by scsi-target-2.6 kernel and forward only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 694) * Merged in some discovery bug fixes and added tgt io counters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 695) * Added sysfs attributes/interfaces: read only attribute
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 696) "management_version" and write only attribute "issue_lip".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 697) * Fix build on big endian machines: while #if was OK with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 698) __BIG_ENDIAN which defined as 4321, __BIG_ENDIAN_BITFIELD has to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 699) be tested with #ifdef because it does not have any value, it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 700) either defined or not.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 701) * Add fabric_name and port_type attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 702) * Change mdelay to msleep. mdelay works, but wastefully uses cpu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 703) resources without a lock held. Revert to msleep. Tested with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 704) sg_reset for bus and three attached targets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 705) * Added the customary #ifndef...#define...#endif to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 706) lpfc_version.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 707) * Integrate patches from Christoph Hellwig: two new helpers common
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 708) to lpfc_sli_resume_iocb and lpfc_sli_issue_iocb - singificant
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 709) cleanup of those two functions - the unused SLI_IOCB_USE_TXQ is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 710) gone - lpfc_sli_issue_iocb_wait loses its flags argument
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 711) totally.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 712) * Fix in lpfc_sli.c: we can not store a 5 bit value in a 4-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 713) field.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 714) * Moved some routines out of lpfc_fcp.c into more appropriate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 715) files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 716) * Whitespace cleanup: remove all trailing whitespace.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 717) * Make lpfc_disc_ndlp_show static to lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 718) * Remove leftover printk and replace some with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 719) printk(KERN_WARNING)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 720) * Trivial: fix a few long lines and a soft tab.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 721) * Remove warnings generated by Sparse against driver (make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 722) C=1). Mostly these are "using integer as pointer warnings"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 723) i.e. use NULL instead of 0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 724) * Integrated patch from Christoph Hellwig: Quite a lot of changes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 725) here, the most notable is that the phba->slim2p lpfc_dmabuf goes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 726) away in favour of a typede pointer and a dma_addr_t. Due to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 727) typed pointer lots of the cast mess can go away, and while at it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 728) I also replaced the messy SLI2_SLIM_t with a simple struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 729) lpfc2_sli2_slim that only contains the part of the union we care
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 730) about while using SLI2_SLIM_SIZE for all size calculations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 731) directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 732) * Integrated patch from Christoph Hellwig: This streamlines the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 733) I/O completion path a little more, especially taking care of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 734) fast-pathing the non-error case. Also removes tons of dead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 735) members and defines from lpfc_scsi.h - e.g. lpfc_target is down
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 736) to nothing more than the lpfc_nodelist pointer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 737) * Added binary sysfs file to issue mbox commands
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 738) * Replaced #if __BIG_ENDIAN with #if __BIG_ENDIAN_BITFIELD for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 739) compatibility with the user space applications.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 740) * Decrease the amount of data in proc_info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 741) * Condense nodelist flag members.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 742) * Expand INFO for discovery sysfs shost entries.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 743) * Notify user if information exceeds 4k sysfs limit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 744) * Removed a bunch of unused #defines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 745) * Added initial sysfs discovery shost attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 746) * Remove unused #defines lpfc_disc.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 747) * Fixed failMask nodelist settings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 748) * Cleanup some old comments / unused variables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 749) * Add LP101 to list of recognized adapters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 750)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 751) Changes from 20040908 to 20040920
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 752)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 753) * Changed version number to 8.0.12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 754) * Removed used #defines: DEFAULT_PCI_LATENCY_CLOCKS and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 755) PCI_LATENCY_VALUE from lpfc_hw.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 756) * Changes to accommodate rnid.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 757) * Fix RSCN handling so RSCN NS queries only effect NPorts found in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 758) RSCN data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 759) * If we rcv a plogi on a NPort queued up for discovery, clear the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 760) NLP_NPR_2B_DISC bit since rcv plogi logic will force NPort thru
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 761) discovery.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 762) * Ensure lpfc_target is also cleaned up in lpfc_cleanup().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 763) * Preliminary changes for block/unblock kernel API extensions in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 764) progress with linux-scsi list. These are name changes and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 765) prototype changes only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 766) * Added send_abts flag to lpfc_els_abort. For rcv LOGO when ADISC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 767) sent, the XRI of the LOGO rcv'ed is the same as the ADISC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 768) sent. Thus we cannot ABTS the ADISC before sending the LOGO ACC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 769) * Weed out some unused fc_flags. Add FC_DISC_TMO.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 770) * board_online sysfs attribute added to support libdfc functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 771) InitDiagEnv and SetBrdEnv.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 772) * Streamline code in lpfc_els_retry fixup abort case in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 773) lpfc_els_timeout_handler().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 774) * Flush discovery/ELS events when we bring SLI layer down.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 775) * ctlreg and slimem binary attributes added to support libdfc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 776) read/write mem/ctl functions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 777) * Integrated Christoph Hellwig's patch: Cleanup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 778) lpfc_sli_ringpostbuf_get.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 779) * Modified lpfc_slave_alloc and lpfc_slave_destroy to allocate and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 780) free a dummy target pointer. This allows queuecommand to skip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 781) the NULL target pointer check and avoid the console spam when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 782) slave_alloc fails.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 783) * Fix cfg_scan_down logic, it was reversed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 784) * Init list head ctrspbuflist.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 785) * Change name of lpfc_driver_abort to lpfc_els_abort since it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 786) only valid for ELS ring.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 787) * Remove unused third argument for lpfc_consistent_bind_get().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 788) * Fix up iotag fields in lpfc_prep_els_iocb().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 789) * Remove log message on code path triggered by lpfc_els_abort().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 790) * Set host->unique_id in lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 791) * Removed deadwood: lpfc_target.pHba not necessary anymore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 792) * Integrated patch from Christoph Hellwig: remove dead
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 793) SLI_IOCB_POLL handling.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 794) * Integrated patch from Christoph Hellwig: Streamline I/O
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 795) submission and completion path a little.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 796) * Remove unnecessary lpfc_brd_no. Ensure brd_no assignment is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 797) unique.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 798) * Removed unused MAX_FCP_LUN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 799) * Use mod_timer instead of add_timer for fdmi in lpfc_ct.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 800) * Fixed misc discovery problems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 801) * Move stopping timers till just before lpfc_mem_free() call.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 802) * Fix up NameServer reglogin error path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 803) * Cleanup possible outstanding discovery timers on rmmod.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 804) * Fix discovery NPort to NPort pt2pt problem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 805) * Get rid of ip_tmofunc / scsi_tmofunc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 806) * Integrated patch from Christoph Hellwig:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 807) lpfc_disc_done/lpfc_do_dpc cleanup - lpfc_disc_done can return
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 808) void - move lpfc_do_dpc and lpfc_disc_done to lpfc_hbadisc.c -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 809) remove checking of list emptiness before calling lpfc_disc_done,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 810) it handles the empty list case just fine and the additional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 811) instructions cost less then the bustlocked spinlock operations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 812) * Integrated patch from Christoph Hellwig: This adds a new 64bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 813) counter instead, brd_no isn't reused anymore. Also some tiny
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 814) whitespace cleanups in surrounding code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 815) * Reorder functions in lpfc_els.c to remove need for prototypes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 816) * Removed unused prototypes from lpfc_crtn.h -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 817) lpfc_ip_timeout_handler, lpfc_read_pci and lpfc_revoke.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 818) * Removed some unused prototypes from lpfc_crtn.h -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 819) lpfc_scsi_hba_reset, lpfc_scsi_issue_inqsn,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 820) lpfc_scsi_issue_inqp0, lpfc_scsi_timeout_handler.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 821) * Integrated patch from Christoph Hellwig: remove TRUE/FALSE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 822) usage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 823) * Integrated patch from Christoph Hellwig: Remove unused function
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 824) prototypes lpfc_set_pkt_len and lpfc_get_pkt_data from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 825) lpfc_crtn.h - fixes build warnings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 826) * Removed unused struct lpfc_dmabufip definition from lpfc_mem.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 827) * Removed pre-2.6.5 MODULE_VERSION macro from lpfc_compat.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 828) * Fixing missing static and removing dead code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 829) * Adding nodewwn, portwwn and portfcid shost attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 830) * Initial support for CT via sysfs. request payloads of size less
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 831) than PAGE_SIZE and rsp payloads of size PAGE_SIZE are supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 832) Driver maintains a list of rsp's and passes back rsp's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 833) corresponding to the pid of the calling process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 834) * Support for RefreshInformation, GetAdapterAttributes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 835) GetPortStatistics.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 836) * Make nodev-tmo default to 20 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 837) * Fix up some DSM error cases, unreg_login rpi where needed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 838) * Fix up comments for fc_target_block / fc_target_unblock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 839) * Fix up code for scsi_block_requests / scsi_unblock_requests.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 840) * Add NLP_FCP_TARGET for nodeinfo support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 841) * Move suspend/resume in lpfc_nlp_list under appropriate case -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 842) Used host_lock for DPC to avoid race (remove dpc_lock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 843) * Fix some corner cases for PLOGI receive - simplify error case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 844) for cmpl_reglogin_reglogin_issue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 845) * Bug fix for ppc64 EEH MMIO panic - always do readl after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 846) writel's of HBA registers to force flush.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 847) * Get rid of initial static routine declarations in lpfc_hbadisc.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 848) and lpfc_els.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 849) * Updates to discovery processing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 850)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 851) Changes from 20040823 to 20040908
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 852)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 853) * Changed version number to 8.0.11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 854) * Removed persistent binding code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 855) * Display both ASC and ASCQ info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 856) * Fixed link down->up transitions when linkdown tmo expires. Fix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 857) was in the defensive error checking at the start of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 858) queuecommand.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 859) * Removed lpfc_scsi_timeout_handler as this timer is no longer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 860) required. The midlayer will exhaust retries and then call
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 861) lpfc_abort_handler, lpfc_reset_lun_handler, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 862) lpfc_reset_target_handler.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 863) * Minimal support for SCSI flat space addressing/volume set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 864) addressing. Use 16 bits of LUN address so that flat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 865) addressing/VSA will work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 866) * Changed 2 occurrences of if( 1 != f(x)) to if(f(x) != 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 867) * Drop include of lpfc_cfgparm.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 868) * Reduce stack usage of lpfc_fdmi_cmd in lpfc_ct.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 869) * Add minimum range checking property to /sys write/store
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 870) functions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 871) * Fix display of node_name and port_name via fc transport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 872) attr.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 873) * Removed biosparam code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 874) * Removed range checking. phba->config[] array elements are now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 875) embedded into the hba struct. lpfc_config_setup() has been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 876) removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 877) * Collapsed lpfc_scsi_cmd_start into lpfc_queuecommand and cleaned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 878) up combined routines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 879) * Removed unused prototypes myprint and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 880) lpfc_sched_service_high_priority_queue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 881) * Removed unused function lpfc_nodev.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 882) * Removed scsi_cmnd->timeout_per_command cancelation. SCSI midlayer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 883) now times out all commands - FW is instructed to not timeout.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 884) * Removed polling code from lpfc_scsi_cmd_start. Reorganized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 885) queuecommand and cmd_start some.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 886)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 887) Changes from 20040810 to 20040823
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 888)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 889) * Changed version number to 8.0.10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 890) * Additional timer changes as per Arjan / Christoph's comments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 891) * Used mod_timer() instead of del_timer_sync() where appropriate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 892) * Fixed a use after free case (panic on 2.6.8.1 with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 893) CONFIG_DEBUG_SLAB set).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 894) * Fix compile warning in lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 895) * Minor fix for log message, that prints unassigned brdno which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 896) zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 897) * Move scsi_host_alloc() to the beginning of probe_one(). This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 898) ensures that host_lock is available at later stages and also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 899) avoids tons of unnecessary initializing if host_alloc()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 900) fails.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 901) * Removed else clause from lpfc_slave_configure that set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 902) sdev->queue_depth. The driver informs the midlayer of its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 903) setting in the template and only overrides if queue tagging is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 904) enabled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 905) * Added PCI_DEVICE_ID_ZEPHYR and PCI_DEVICE_ID_ZFLY (Junior
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 906) Zephyr) support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 907)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 908) Changes from 20040730 to 20040810
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 909)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 910) * Changed version number to 8.0.9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 911) * Removed per HBA driver lock. Driver now uses the host->host_lock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 912) * Restored support for the 2.6.5 kernel for those linux distributions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 913) shipped with the 2.6.5 kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 914) * Applied patch from Christoph Hellwig (hch@infradead.org) as follows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 915) "[PATCH] use scsi host private data in ->proc_info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 916) * Applied patch from Christoph Hellwig (hch@infradead.org) as follows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 917) "Re: [Emulex] Ready for next round. This patch cleans up the memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 918) allocation routines a little and fixes a missing mempool_destroy and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 919) some missing error handling."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 920) * Changed pointers assignments from 0 to NULL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 921) * Added fixes to the lpfc_reset_lun_handler and lpfc_reset_bus_handler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 922) entry points that caused kernel to Oops or hang.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 923) * Added fixes to targetless hosts that caused modprobe and insmod to hang.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 924) * Ongoing cleanup to many files
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 925)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 926) Changes from 20040723 to 20040730
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 927)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 928) * Changed version number to 8.0.8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 929) * Removed unused LPFN_DRIVER_VERSION #define.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 930) * Folded lpfc_findnode_scsiid into lpfc_find_target, its only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 931) caller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 932) * Removed 2 unneeded arguments to lpfc_find_target (lun and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 933) create_flag).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 934) * Make lpfc_sli_reset_on_init = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 935) * Minor cleanup to quieten sparse.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 936) * Removed missing function = 0 in tmo routine in lpfc_els.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 937) * Moved additional binding parameters into lpfc_defaults.c:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 938) lpfc_automap / lpfc_fcp_bind_method
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 939) * Use msecs_to_jiffies() where applicable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 940) * Only use queue depth attribute only after SLI HBA setup was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 941) completed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 942) * Put in memory barriers for PPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 943) * Added PCI_DEVICE_ID_HELIOS and PCI_DEVICE_ID_JFLY (Junior
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 944) Helios) support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 945) * Added 4&10 gigabit choices in user option link_speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 946) * Updated timer logic: Set timer data after init_timer use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 947) timer_pending() instead of expires.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 948) * Removed some remnants of IP over FC support from Kconfig and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 949) Makefile.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 950) * Remove redundant prototypes for lpfc_handle_eratt,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 951) lpfc_handle_latt and lpfc_read_pci.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 952) * Ongoing cleanup of lpfc_init.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 953) * Changed LPFC_CFG_DFT_HBA_Q_DEPTH -> LPFC_CFG_HBA_Q_DEPTH.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 954) * Another cleanup stab at lpfc_ct.c. Remove castings, structure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 955) code sanely, remove redundant code, reorganize code so that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 956) functions are invoked after definition.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 957)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 958) Changes from 20040716 to 20040723
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 959)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 960) * Changed version number to 8.0.7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 961) * Cleanup of lpfc_ct.c. Removed number of casts, removed tons of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 962) dead/redundant code, cleaned up badly and poorly written code,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 963) cleaned up return values.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 964) * Fixed Persistent binding implementation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 965) * Removed all references to lpfc_scsi_req_tmo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 966) * Removed last references to lun_skip config parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 967) * Removed LPFC_DEV_RPTLUN node failure bit because we don't issue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 968) REPORT_LUNS from the driver anymore.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 969) * Removed LUN-tracking in driver. Removed lpfc_lun struct and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 970) moved any functionality we still need to lpfc_target.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 971) * Added new lpfc_jedec_to_ascii() call and replace two instances
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 972) of duplicate code with calls to this function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 973) * Removed Volume Set Addressing handling on LUN IDs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 974) * Applied patch from Christoph Hellwig (hch@infradead.org) that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 975) removes dead code belonging to lpfc_build_scsi_cmnd() and its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 976) call path. This is related to the recently removed report_lun
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 977) code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 978)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 979) Changes from 20040709 to 20040716
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 980)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 981) * Changed version number to 8.0.6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 982) * Removed internal report LUNs usage. Removed functions:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 983) lpfc_disc_issue_rptlun, lpfc_disc_cmpl_rptlun,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 984) lpfc_disc_retry_rptlun and their use.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 985) * Removed usused scheduler prototypes in lpfc_crtn.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 986) * Replace lpfc_geportname() with generic memcmp().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 987) * Rearrange code in lpfc_rcv_plogi_plogi_issue() to make it a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 988) little more readable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 989) * Remove redundant port_cmp != 2 check in if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 990) (!port_cmp) { .... if (port_cmp != 2).... }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 991) * Clock changes: removed struct clk_data and timerList.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 992) * Clock changes: separate nodev_tmo and els_retry_delay into 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 993) separate timers and convert to 1 argument changed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 994) LPFC_NODE_FARP_PEND_t to struct lpfc_node_farp_pend convert
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 995) ipfarp_tmo to 1 argument convert target struct tmofunc and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 996) rtplunfunc to 1 argument * cr_count, cr_delay and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 997) discovery_threads are only needed to be module_params and not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 998) visible via sysfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) Changes from 20040614 to 20040709
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) * Changed version number to 8.0.5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) * Make lpfc_info static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) * Make lpfc_get_scsi_buf static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) * Print a warning if pci_set_mwi returns an error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) * Changed SERV_PARM to struct serv_parm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) * Changed LS_RJT to struct ls_rjt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) * Changed CSP to struct csp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) * Changed CLASS_PARMS to struct class_parms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) * Some cosmetic coding style cleanups to lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) * Providing a sysfs interface that dumps the last 32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) LINK_[UP|DOWN] and RSCN events.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) * Get rid of delay_iodone timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) * Remove qfull timers and qfull logic.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) * Convert mbox_tmo, nlp_xri_tmo to 1 argment clock handler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) * Removed duplicate extern defs of the bind variables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) * Streamline usage of the defines CLASS2 and CLASS3, removing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) un-necessary checks on config[LPFC_CFG_FCP_CLASS].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) * Moving the persistent binding variables to new file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) lpfc_defaults.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) * Changed LPFC_SCSI_BUF_t to struct lpfc_scsi_buf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) * Moved config specific code from probe_one() into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) config_setup(). Removing a redundant check on scandown value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) from bind_setup() as this is already done in config_setup().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) * Changed LPFC_SLI_t to struct lpfc_sli.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) * Changed FCP_CMND to struct fcp_cmnd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) * Changed FCP_RSP to struct fcp_rsp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) * Remove the need for buf_tmo.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) * Changed ULP_BDE64 to struct ulp_bde64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) * Changed ULP_BDE to struct ulp_bde.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) * Cleanup lpfc_os_return_scsi_cmd() and its call path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) * Removed lpfc_no_device_delay.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) * Consolidating lpfc_hba_put_event() into lpfc_put_event().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) * Removed following attributes and their functionality:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) lpfc_extra_io_tmo, lpfc_nodev_holdio, lpfc_delay_rsp_err,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) lpfc_tgt_queue_depth and lpfc_check_cond_err.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) * Clock changes consolidating timers, just in the struct lpfc_hba,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) to get rid of clkData and pass only one argument to timeout
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) routine. Also, removing need for outstanding clock linked list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) to stop these timers at rmmod.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) * Move lpfc.conf contents into lpfc_fcp.c. Removing per adapter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) attributes in favor of global attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) * Fix a potential null pointer reference of pmbuf in lpfc_ct.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) * On reset_lun, issue LUN_RESET as opposed to ABORT_TASK_SET.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) * Removed SCSI_REQ_TMO related code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) * Introducing two new defines LPFC_ATTR_R and LPFC_ATTR_RW that do
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) a module_param, MODULE_PARM_DESC, lpfc_param_show,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) [lpfc_param_store] and CLASS_DEVICE_ATTRIBUTE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) * Properly clean up when allocation of a linked BDE fails in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) SCSI queuecommand path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) * Fail SCSI command if dma_map_sg call fails.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) * Remove unused macros SWAP_ALWAYS and SWAP_ALWAYS16.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) * Reset context2 to 0 on exit in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) lpfc_sli_issue_iocb_wait_high_priority() and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) lpfc_sli_issue_iocb_wait().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) * Arranging lpfc_scsiport.c to follow style of use after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) definition. This removes the need for the cruft of forward
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) declarations. Also removing a redundant #define ScsiResult as it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) already available elsewhere.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) * Applying "Streamline lpfc error handling" patch from Christoph
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) Hellwig (hch@infradead.org) with following modifications: fix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) mem leaks, remove some misplaced code that need not be there,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) print a message on exit (old code prints two (entry/exit)), make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) ret values consistent (either 1/0 or SUCCESS/FAILURE), keep all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) eh routines in a single file (lpfc_scsiport.c).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066) * Move contents of lpfc_module_param.h into lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) * Changed sysfs attributes to CLASS_DEVICE_ATTRIBUTES (previously
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) DEVICE_ATTRIBUTES). They now appear in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) /sys/class/scsi_host/hostx (previously in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) /sys/bus/pci/drivers/lpfc/devx).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) * Removed lpfc_syfs.h and lpfc_sysfs.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) * Cleanup of config params. Throttle params have been removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) max_lun has been removed. max_target is replaced with a #define,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) lun_skip is removed. Remove ipfc config params and related
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) * Changed DMABUF_t usage to struct lpfc_dmabuf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) * Downsizing iCfgParam structure to include a_string, a_low, a_hi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) and a_default values only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) * Free SCSI buf safety memory pool on shutdown to eliminate memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) leak.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) * Change lpfc_printf_log to a #define. Also include phba->brd_no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) and newline in the print string rather than in the #define.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) * Remove code that optionally locates Host Group Pointers in host
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) memory SLIM since this is no longer needed for PPC64, once
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) CONFIG_PORT uses HBA's view of its BAR0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) * Removed the forward declarations of the sli functions and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) rearranging the code in lpfc_sli.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) * Removed the preamble functionality from logging.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) * Make lpfc_sli_hba_setup() return negative error codes on error
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) and correct the comment left over in lpfc_fcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) * Removed the lpfc_loadtime variable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) * Put a space between all ifs and their open parens '('.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) * Change Studly_Caps LPFC_SCSI_BUF_t to struct lpfc_scsi_buf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) * Fixed insmod hang after hardware error.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) * Relocated scsi_host alloc to before we enable the interrupt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) handler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) * Add .tmp_versions directory to Makefile clean target. This
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) directory is created in the 2.6.5+ build process (with Red Hat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) kernels at least).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) * Changing phba->config to kmalloc lpfc_icfgparam and not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) *phba->config. This is manifesting itself as a panic in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) pci_release_region().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) * Fix for firmware download / board reset problem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) * Integrated patch from Christoph Hellwig (hch@infradead.org) to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) reorganize and cleanup lpfc_fcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) * Don't abort commands immediately when there is an RSCN event to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) give driver time to rediscover targets before the midlayer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) retries the SCSI commands.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) Changes from 20040604 to 20040614
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) * Changed version number to 8.0.4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) * Removed lpfc_valid_lun function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) * Added scsi_buf safety pool to address scsi_buf failures in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) queuecommand under low memory conditions. Allocations now come
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) from kmalloc initially, but if kmalloc fails, the allocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) comes from the safety pool.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) * Modified lpfc_slave_alloc to only set the scsi_device->hostdata
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) pointer if the driver has discovered the target. This routine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) always returns success now as well since no error ever occurs in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) the alloc routine.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) * Mask only info and warning messages. Print all error messages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) irrespective of mask.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) * Removing lpfc_log_chk_msg_disabled()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) * Changed lpfc_printf_log to take struct lpfc_hba * directly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) instead of a "board number".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) * Convert dma_sync_single to pci_dma_sync_single_for_{device/cpu}.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) * Implemented new style log messages. The message strings are now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) embedded in the call to lpfc_printf_log.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) * Decreased FLOGI discovery timeout to 20 seconds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) * On error in lpfc_pci_probe_one() return -1 and not 1.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) * Allow for board numbers that are not sequential, paving the way
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) for hotplug support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) * scsi_add_host() can fail, so wrap it around in an if(). Also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) initiate scsi_scan_host() after attaching the sysfs attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) * lpfc_release_version is used only in lpfc_ct.c, so move it there
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) and mark it as static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) * Removed lpfc_sleep_ms and replaced with mdelay or schedule calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) directly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) * Removed all (struct list_head *) casts from clkData-related list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) handling in list_add, list_del macros.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) * Removed EXPORT_SYMBOLs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) * Removed LPFC_MIN_QFULL and lpfc_qthrottle_up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) * Replace LPFCSCSITARGET_t with struct lpfc_target.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) * Replace LPFCSCSILUN_t with struct lpfc_lun.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) * Remove unused struct declarations (fcPathId and fcRouteId) from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) lpfc_scsi.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) * Rewrite use of FC transport attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) * Fix crash when link is lost. This was due to lpfc_delay_iodone
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) calling list_del on an object that was never put on a list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) * Remove trailing spaces at the end of all lines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) * Set MAX_FCP_TARGET to 256 from 0xff. Set MAX_FCP_LUN and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) MAX_FCP_CMDS to their decimal equivalents and updated
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) documentation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) Changes from 20040526 to 20040604
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) * Changed version number to 8.0.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) * Completed sysfs FC transport support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) * Removed unused fields in SCSI LUN and SCSI Target structures:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) void *pTargetProto; void *pTargetOSEnv; void *pLunOSEnv;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) * Modified list_for_each to list_for_each_entry. Modified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) list_for_each_safe to list_for_each_entry_safe.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) * Remove lpfc_dfc.h file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) * Changed pHba->phba, pCommand->pcmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) * Changed plogi_ndlp -> plogindlp, pos_tmp->postmp, pRsp->prsp,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) pCmd->pcmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) * Changed pText -> ptext
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) * Changed p_tmp_buff -> ptmpbuff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) * Changed pBufList -> pbuflist, pRsp -> prsp, pCmd -> pcmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) * Changed *pos_tmp -> *postmp, *p_mbuf -> *pmbuf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) * Following changes are made to the SCSI fast path: Added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) DMA_BUF_t member to the lpfc_scsi_buf_t. This will reduce a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) memory allocation in the scsi fast path. Added check for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) targetp == NULL in the scsi fast path. Increased number of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176) scatter gather entries in lpfc_scsi_dma_ext to 4 from 3 and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) changed the size of lpfc_scsi_dma_ext to 264
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) * Fixing some missing static lpfc_nportdisc.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) * Reordered #include lines so that lpfc.h doesn't have to #include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) other header files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) * Remove lpfc_get_hba_sym_node_name() as a global EXPORT and make
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) it static.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) * Move struct clk_data definition from lpfc_hw.h to lpfc_sli.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) * Changed LPFC_IOCBQ_t to struct lpfc_iocbq.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) * Changed LPFC_SLI_RING_t to struct lpfc_sli_ring.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) * Changed LPFC_NODELIST_t to struct lpfc_nodelist.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) * Rearranged lpfc_nportdisc.c by moving state machine array
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) (lpfc_disc_action) and the one function that uses it,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) lpfc_disc_state_machine, to the end of the file, removing the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) need for the raft of prototypes at the top.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) * Changed LPFC_BINDLIST_t to struct lpfc_bindlist.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) * Removed lpfc_issue_ct_rsp(), lpfc_sleep(), lpfc_add_bind(),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) lpfc_del_bind(), lpfc_sli_wake_mbox_wait() and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) lpfc_sli_issue_mbox_wait().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) * Fixed a large number of overly-long lines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) * Fixed some discovery problems: Introduced deferred ndlp removal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) when in DSM to avoid panic when in nested DMSs Fix NportId
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) fffc01 handling to not relogin after LOGO fixed handling of LOGO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) on PLOGI issue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) * Changed SLI_CT_REQUEST to lpfc_sli_ct_request.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) * Changed NAME_TYPE to struct lpfc_name.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) * Changed lpfcCfgParam_t to struct lpfc_cfgparam.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) * Changed LPFC_STAT_t to struct lpfc_stats.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) * Changed HBAEVT_t to struct lpfc_hba_event.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) * Changed Studly_Caps lpfcHBA_t to struct lpfc_hba.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) * Removed no longer used tasklet_running flag.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) * Removing *PSOME_VAR typedefs and using SOME_VAR* directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) * Changing .use_clustering to ENABLE_CLUSTERING.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) * Modify lpfc_queuecommand to return SCSI_MLQUEUE_HOST_BUSY when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) it can't queue a SCSI command. Also, remove cmnds_in_flight
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) member of struct lpfcHBA for 2.6 kernels as it was only needed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) to determine what to return from queuecommand.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) * Change return type of lpfc_evt_iocb_free to void as it doesn't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) return anything.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) * Remove unused cmnd_retry_list and in_retry members in struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) lpfcHBA.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) * Remove some instances of unneeded casting of kmalloc's return in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) lpfc_scsiport.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) * Remove lpfc_linux_attach() and lpfc_linux_detach(). Integrate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) them into lpfc_probe_one() and lpfc_release_one() respectively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) * Remove lpfc_num_iocbs, lpfc_num_bufs module parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) * Remove #defines for NUM_NODES, NUM_BUFS and NUM_IOCBS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) Changes from 20040515 to 20040526
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) * Changing version number to 8.0.2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) * Including dma-mapping.h as one of the include headers. Also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) rearrange the #include order.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) * Make functions static as appropriate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230) * queuecommand() will now return SCSI_MLQUEUE_HOST_BUSY instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) 1 to backpressure midlayer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) * Removed function prototypes for lpfc_start_timer() and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) lpfc_stop_timer()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) * Changed timer support to be inline. Clk_data is now declared
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) right next to the corresponding timer_list entry so we don't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) have to allocate these clk_data dynamically.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) * Add readls after writels to PCI space to flush the writes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238) * Fix misspelled word "safety" in function names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) * Fix up comments in lpfc.conf for per HBA parameters to reflect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) new implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) * Change lpfc_proc_info handler to get the Nodename from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) fc_nodename and not fc_portname.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) * Fix up some comments and whitespace in lpfc_fcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) * Formatting changes: get rid of leading spaces in code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) * Move discovery processing from tasklet to a kernel thread.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) * Move ndlp node from unmap list to map list if ADISC completed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) successfully.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) * Flush all the ELS IOCBs when there is a link event.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) * LP9802 qdepth is twice the LP9802DC qdepth. Delay
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) elx_sched_init after READ_CONFIG to get max_xri from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) firmware. Reset ELX_CFG_DFT_HBA_Q_DEPTH to max_xri after
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) READ_CONFIG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) * Fix fc_get_cfg_parm() to be more robust and support embedded hex
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) values. The lpfc_param's are now defined as:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) lpfc_log_verbose="lpfc:0,lpfc0:0x10,lpfc1:4,lpfc100:0xffff" The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) "," delimter does not matter. It can be anything or not exist at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) all. ie param = "lpfc:0lpfc0:0x10.lpfc1:4txtlpfc100:0xffff" will
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) also work. Additionally the string is treated as case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) insensitive.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) * Changed all usage of lpfc_find_lun_device() to lpfc_find_lun().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) * Removed unnecessary wrappers lpfc_find_lun_device() and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) lpfc_tran_find_lun().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) * Switch from using internal bus/id/lun to similar data from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) scsi_device structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) * Eliminate one-line function lpfc_find_target()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) * Added slave_alloc, slave_destory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) * lpfc_scsi_cmd_start can now acquire lun pointer from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) scsi_device->hostdata, which is setup in slave_alloc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) * Eliminate unnecessary checking on every cmd just to see if we
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) are accessing the device the first time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) * Remove assumption in lpfc_reset_lun_handler that a valid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) lpfc_scsi_buf is hung off of linux's scsi_cmnd->host_scribble
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) when our reset is called.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) Changes from 20040507 to 20040515
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) * Changed version to 8.0.1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) * Fixed crash on driver rmmod after error injection tests and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) lpfc_tasklet deadlock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) * Modified lpfc.conf to remove limit on number of support hosts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) * Removed HBAAPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) * Removed duplication of SCSI opcodes from lpfc_fcp.h that are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) available in scsi/scsi.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) * Rework module_param usage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) * Added MODULE_PARAM_DESC for various module_params
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) * Removed #define EXPORT_SYMTAB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) * Removed #includes of if_arp.h and rtnetlink.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) * Removed string "Open Source" from MODULE_DESC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) * Cleanup duplicated string definitions used by MODULE_DESC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) * Renamed lpfc_pci_[detect|release] to lpfc_pci_[probe|remove]_one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) * Fix formatting of lpfc_driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) * Remove unnecessary memset to 0 of lpfcDRVR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) * Attach driver attributes always unless pci_module_init failed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) * Remove all one-line wrappers from lpfc_mem.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) * Remove lpfc_sysfs_set_[show|store] as it is no longer needed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) * Redo lpfc_sysfs_params_[show|store] to one value per attribute rule
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) * Breakdown lpfc_sysfs_info_show into smaller one value per attribute
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) * Use device attributes instead of driver attributes where appropriate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) * Remove no longer needed EXPORT_SYMBOLs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) * Remove some unused code (1600 msg's related)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) Changes from 20040429 to 20040507
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) * Change version to 8.0.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) * Fix the number of cmd / rsp ring entries in lpfc_fcp.c to match
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) the divisions setup in lpfc_hw.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) * Remove phba->iflag reference.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) * Several locking improvements.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) * Remove functions lpfc_drvr_init_lock, lpfc_drvr_lock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) lpfc_drvr_unlock and lpfc_hipri_*.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) * Remove LPFC_DRVR_LOCK and LPFC_DRVR_UNLOCK macros.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) * Make lpfc_info() use lpfc_get_hba_model_desc() instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) rewriting almost identical code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) * Fix 1 overly long line in each of lpfc_cfgparm.h, lpfc_ftp.c and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) lpfc_sli.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) * Fix build for Red Hat 2.6.3 kernel by #defining MODULE_VERSION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) only if it isn't already defined.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) * Change elx_sli_issue_mbox_wait to return correct error code to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) the caller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) * In some of the els completion routines, after calling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) lpfc_elx_chk_latt, driver ignores the return code of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) lpfc_elx_chk_latt. This will prevent the discovery state machine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) restarting correctly when there are link events in the middle of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) discovery state machine running. Fix this by exiting discovery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) state machine if lpfc_els_chk_latt returns a non zero value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) * Removed MAX_LPFC_BRDS from lpfc_diag.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) * Removed unused first_check.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) * Remove some unused fields and defines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) * Change lpfc-param names to lpfc_param.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) * Add use of MODULE_VERSION macro for 2.6 kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) * Shorten length of some of the comment lines to make them more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) readable.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) * Move FCP_* definitions to their own header file, lpfc_fcp.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) * Remove unused prototypes from lpfc_crtn.h: fcptst, iptst,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) lpfc_DELAYMS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) * Remove duplicated prototypes from lpfc_crtn.h:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) lpfc_config_port_prep, lpfc_config_port_post,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) lpfc_hba_down_prep.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) * Removed some unused export_symbols.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) * Install driver files into */drivers/scsi/lpfc instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) */drivers/scsi.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343) Changes from 20040426 to 20040429
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345) * Declared export symbol lpfc_page_alloc and lpfc_page_free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) * Changed lpfc version number to 6.98.3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) * Move the definition of MAX_LPFC_BRDS to the only header file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) that uses it (lpfc_diag.h).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) * Change lpfc_sli_wake_iocb_wait to do a regular wake_up since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350) lpfc_sli_issue_iocb_wait now sleeps uninterruptible.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) * Replace list_for_each() with list_for_each_safe() when a list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) element could be deleted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) * Fix IOCB memory leak
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) Changes from 20040416 to 20040426
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) * Change lpfc_config_port_prep() to interpret word 4 of the DUMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) mbox response as a byte-count
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) * Add info attribute to sysfs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) * Minor formatting (spaces to tabs) cleanup in lpfc_sched.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) * Remove unused log message number 732
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362) * Completing MODULE_PARM -> module_param changes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363) * Removed unused targetenable module parameter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364) * Removed locks from lpfc_sli_issue_mbox_wait routine
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) * Removed code that retry 29,00 check condition
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) * Removed code that manipulates rspSnsLen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) * Fix use of lun-q-depth config param
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) * Fix severity inconsistency with log message 249
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) * Removed lpfc_max_target from lpfc_linux_attach
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370) * Replace references to lpfcDRVR.pHba[] with lpfc_get_phba_by_inst()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) * Change lpfc_param to lpfc-param
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) * Partially removed 32 HBA restriction within driver. Incorported
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) lpfc_instcnt, lpfc_instance[], and pHba[] into lpfcDRVR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) structure Added routines lpfc_get_phba_by_inst()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) lpfc_get_inst_by_phba() lpfc_check_valid_phba()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) * Turn on attributes "set" & "params" by default.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) * Further formatting/whitespace/line length cleanup on: lpfc_ct.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378) lpfc_els.c lpfc_fcp.c lpfc_hbadisc.c lpfc_init.c lpfc_ipport.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) lpfc_mbox.c lpfc_nportdisc.c lpfc_sched.c lpfc_sched.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) lpfc_scsi.h lpfc_scsiport.c lpfc_sli.c and lpfc_sli.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) * Add log message 249 to log any unsupported device addressing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) modes encountered.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) * Add support for 256 targets and 256 LUNs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384) * Fixed panic in lpfc_linkdown.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) * Removed (struct list_head*) casting in several calls to list_del
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) * Free irq reservation and kill running timers when insmod or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) modprobe are killed via ctrl-c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) * Remove drivers/scsi from include path
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) * Wrap use of log message 311 in macro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) * Detect failure return from pci_map_sg call in lpfc_os_prep_io
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) * Fix use-after-free of IOCB in lpfc_sli_process_sol_iocb which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) was causing an Oops on 2.6.5 kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393) * Cleanup use of several gotos not used for error exit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) * Replace memcpy_toio() and memcpy_toio() with endian-dependent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) lpfc_memcpy_to_slim() and lpfc_memcpy_from_slim() so that for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) big endian hosts like PPC64, the SLIM is accessed 4 bytes at a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) time instead of as a byte-stream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) Changes from 20040409 to 20040416
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) * The scsi_register and scsi_alloc_host OS calls can fail and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402) return a zero-valued host pointer. A ctrl-C on 2.6 kernels
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) during driver load will cause this and the driver to panic.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) Fixed this bug. Also found a bug in the error_x handling with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) lpfc_sli_hba_down - it was in the wrong place and the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) lock was not held, but needed to be (in lpfc_linux_attach) Fixed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) both. Did some minor comment clean up.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) * Removed unwanted (void *) castings.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) * Replace define of INVALID_PHYS, with kernel 2.6.5's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) dma_mapping_error() and add a inline function for earlier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) kernels. Remove lpfc_bad_scatterlist().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) * Clean up formatting in hbaapi.h, lpfc.h, lpfc_cfgparm.h,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) lpfc_crtn.h, lpfc_ct.c, lpfc_diag.h, lpfc_disc.h, lpfc_els.c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) lpfc_fcp.c, lpfc_hbadisc.c, lpfc_hw.h, lpfc_init.c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) lpfc_ipport.c, lpfc_logmsg.c, lpfc_logmsg.h and lpfc_scsiport.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) - mostly replacing groups of 8 spaces with hard tabs and keeping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) lines to 80 column max..
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) * Removed LPFC_DRVR_LOCK call from lpfc_unblock_requests for 2.4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) kernels. The lpfc_scsi_done routine already unlocks the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) lock since it expects this lock to be held.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) * Removed global lock capabilities from driver lock routines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) * Remove SA_INTERRUPT flag from request_irq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) * Move dma_addr_t cast inside of getPaddr macro as everywhere
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) getPaddr is used, the return is cast to dma_addr_t.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) * Clean up formatting in lpfc_sli.c and lpfc_sysfs.c - mostly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) replacing groups of 8 spaces with hard tabs and keeping lines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) to 80 column max.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) * Fix build for RHEL 2.1 BOOT kernels by always #including
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) interrupt.h in lpfc.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) * Fix RHEL 3 build by #defining EXPORT_SYMTAB.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) * Replace sprintf with snprintf in lpfc_proc_info.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) * Fix build warnings on 2.6 kernels - remove no longer used calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433) to character device initialization.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) * Initial support code for discovery in tasklet conversion.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) * Removing char interface and ioctl code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) * Change all elx prefixes to lpfc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) * Replace lpfc_write_slim() & lpfc_read_slim() with memcpy_toio(),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) memcpy_fromio(), writel() & readl().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) Changes from 20040402 to 20040409
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) * Replaced lpfc_read_hbaregs_plus_offset and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) lpfc_write_hbaregs_plus_offset functions with readl and writel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) * Get rid of long mdelay's in insmod path
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) * Changed the way our pci_device_id structures are initialized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) * Replace lpfc_read/write_CA/HA/HC/HS with calls to readl() &
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) writel() directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) * Increase SLI2_SLIM to 16K Increase cmd / rsp IOCBs accordingly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) * Removed lpfc_els_chk_latt from the lpfc_config_post function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) lpfc_els_chk_latt will enable the link event interrupts when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) flogi is pending which causes two discovery state machines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) running parallelly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) * Add pci_disable_device to unload path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) * Move lpfc_sleep_event from lpfc_fcp.c to lpfc_util_ioctl.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) * Call dma_map_single() & pci_map_single() directly instead of via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) macro lpfc_pci_map(). Allow address 0 for PPC64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) * Change sleep to uninterruptible in lpfc_sli_issue_icob_wait
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) because this function doesn't handle signals.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) * Move lpfc_wakeup_event from lpfc_fcp.c to lpfc_ioctl.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) * Remove unneeded #include <linux/netdevice.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) * Remove unused clock variables lpfc_clkCnt and lpfc_sec_clk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) * Get rid of capitalization of function names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) * Removed lpfc_addr_sprintf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) * Implemented gotos in lpfc_linux_attach for error cases.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) * Replace mlist->dma.list = dmp->dma.list; to mlist = dmp.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) * Remove functions lpfc_get_OsNameVersion and elx_wakeup. Change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) elx_wakeup to wake_up_interruptible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) * Add function lpfc_get_os_nameversion and change
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) lpfc_get_OsNameVersion to lpfc_get_os_nameversion.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) * Remove lpfc_get_OsNameVersion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) * Change driver name to a consistent lpfc in every visible place.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) * Fix build warning: removed unused variable ret in lpfc_fdmi_tmo.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) * Remove lpfc_utsname_nodename_check function
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) * Remove functions lpfc_register_intr and lpfc_unregister_intr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) * Fill in owner field in lpfc_ops file_operations struct and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) remove now unnecessary open and close entry points.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) * Change function name prefixes from elx_ to lpfc_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) * Remove special case check for TUR in elx_os_prep_io()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) * Renamed elx_scsi.h to lpfc_scsi.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) * Renamed elx_sched.h to lpfc_sched.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) * Renamed elx_mem.h to lpfc_mem.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) * Renamed elx_sli.h to lpfc_sli.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) * Renamed elx_logmsg.h to lpfc_logmsg.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) * Renamed elx.h to lpfc.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) * Renamed elx_sli.c to lpfc_sli.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) * Renamed elx_sched.c to lpfc_sched.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) * Renamed elx_mem.c to lpfc_mem.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) * Renamed elx_logmsg.c to lpfc_logmsg.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) * Renamed lpfcLINUXfcp.c lpfc_fcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) * Renamed elx_clock.c to lpfc_clock.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) * Reduce stack usage in lpfc_info().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) * Move lpip_stats structure from lpfc_hba.h to lpfc_ip.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) * Move lpfc_stats and HBAEVT_t structures from lpfc_hba.h to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) lpfc.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) * Remove lpfc_hba.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) * Remove duplicate rc definitions from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) * Removed code which used next pointer to store mbox structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) * Cleaned up list iterations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) * Removed non list manipulation of the next pointers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) * Change list_del()/INIT_LIST_HEAD sequences to list_del_init()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) * In ELX_IOCBQ_t: Moved hipri_trigger field to iocb_flag. Combined
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) hipri_wait_queue and rsp_iocb in union
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) * Replaced casting from list_head with list_entry macro.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) * Added ct_ndlp_context field to the ELX_IOCBQ_t.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) * Do not use DMABUf_t list to store ndlp context
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) * Return 0 from lpfc_process_iotcl_util() when ELX_INITBRDS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) succeeds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) * remove elx_os_scsiport.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) * Do not use DMABUf_t list to hold rpi context
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) * Replace elx_cfg_* names with lpfc_cfg-*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) * Moved FCP activity to ring 0. Moved ELS/CT activity to ring 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) * Clean up formatting of elx_sli.h (tabs for indents, 80 column
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) lines).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) * Remove unused elxclock declaration in elx_sli.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) * Since everywhere IOCB_ENTRY is used, the return value is cast,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) move the cast into the macro.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) * Split ioctls out into separate files
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) Changes from 20040326 to 20040402
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) * Updated ChangeLog for 20040402 SourceForge drop.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) * Use safe list iterator for ndlp list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) * Added code to return NLP_STE_FREED_NODE from the discovery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) state machine functions if the node is freed from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) * Fixes to DMABUF_t handling
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) * Fix for load error in discovery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) * Remove loop_cnt variable from lpfc_rcv_plogi_unused_node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) * Remove nle. reference.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) * Remove support for building 2.4 drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531) * Remove elx_util.h and replace elx_disc.h with lpfc_disc.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) * Implemented the Linux list macros in the discovery code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) Also moved elx_disc.h contents into lpfc_disc.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) * Unused variable cleanup
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) * Use Linux list macros for DMABUF_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) * Break up ioctls into 3 sections, dfc, util, hbaapi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) rearranged code so this could be easily separated into a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538) differnet module later All 3 are currently turned on by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) defines in lpfc_ioctl.c LPFC_DFC_IOCTL, LPFC_UTIL_IOCTL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) LPFC_HBAAPI_IOCTL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) * Misc cleanup: some goto's; add comments; clarify function
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) args
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) * Added code to use list macro for ELXSCSITARGET_t.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544) * New list implementation for ELX_MBOXQ_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) * Cleaned up some list_head casting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) * Put IPFC ifdef around two members of struct lpfc_nodelist.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) * Cleaned up iocb list using list macros and list_head data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549) * lpfc_online() was missing some timer routines that were
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) started by lpfc_linux_attach(). These routines are now also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) started by lpfc_online(). lpfc_offline() only stopped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) els_timeout routine. It now stops all timeout routines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553) associated with that hba.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554) * Replace separate next and prev pointers in struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555) lpfc_bindlist with list_head type. In elxHBA_t, replace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556) fc_nlpbind_start and _end with fc_nlpbind_list and use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) list_head macros to access it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558) * Fix ulpStatus for aborting I/Os overlaps with newer firmware
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) ulpStatus values
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) * Rework params_show/store to be consistent as the other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) routines. Remove generic'ness and rely on set attribute.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) * Remove unused log message.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) * Collapse elx_crtn.h and prod_crtn.h into lpfc_crtn.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) * Ifdef Scheduler specific routines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) * Removed following ununsed ioclt's: ELX_READ_IOCB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566) ELX_READ_MEMSEG ELX_READ_BINFO ELX_READ_EINVAL ELX_READ_LHBA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567) ELX_READ_LXHBA ELX_SET ELX_DBG LPFC_TRACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) * Removed variable fc_dbg_flg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) * Fixed a bug where HBA_Q_DEPTH was set incorrectly for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) 3-digit HBAs. Also changed can_queue so midlayer will only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) send (HBA_Q_DEPTH - 10) cmds.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) * Clean up code in the error path, check condition. Remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) ununsed sense-related fields in lun structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) * Added code for safety pools for following objects: mbuf/bpl,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) mbox, iocb, ndlp, bind
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576) * Wrapped '#include <elx_sched.h>' in '#ifdef USE_SCHEDULER'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) * Fixed 'make clean' target.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578) * Build now ignores elx_sched.o, and includes lpfc_sysfs.o.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) * Wrapped lpfndd.o target in BUILD_IPFC ifdef.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580) * Removed elx_os.h inclusion in implementation files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1581) * Removed ELX_OS_IO_t data structure and put data direction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1582) and non scatter/gather physical address into the scsi buffer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1583) structure directly. Moved DRVR_LOCK, putPaddr, getPaddr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1584) macros and some defines into elx.h since they are required
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1585) by the whole driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1586) * Migrated following ioctls (debug) ELX_DISPLAY_PCI_ALL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1587) ELX_DEVP ELX_READ_BPLIST ELX_RESET_QDEPTH ELX_STAT.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1588) * Step 1 of attempt to move all Debug ioctls to sysfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1589) Implemented the following IOCTLs in sysfs: ELX_WRITE_HC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1590) ELX_WRITE_HS ELX_WRITE_HA ELX_WRITE_CA ELX_READ_HC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1591) ELX_READ_HS ELX_READ_HA ELX_READ_CA ELX_READ_MB ELX_RESET
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1592) ELX_READ_HBA ELX_INSTANCE ELX_LIP. Also introduced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1593) attribute "set" to be used in conjunction with the above
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1594) attributes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1595) * Removed DLINK, enque and deque declarations now that clock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1596) doesn't use them anymore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1597) * Separated install rule so that BUILD_IPFC has to be set when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1598) make is called in order for the install rule to attempt to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1599) copy the lpfndd.o driver. This change fixes a bug that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1600) occurs because the install rule by default attempted to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1601) install lpfndd.o, whereas the default make rule did not by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1602) default build lpfndd.o.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1603) * Keep track if hbaapi index numbers need to be refreshed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1604) * Removed prod_os.h from include list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1605) * Removed LPFC_LOCK and LPFC_UNLOCK macros. Added OS calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1606) into elx_os_scsiport.c. This file is now empty.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1607) * Added spin_lock_irqsave and spin_unlock_irqrestore calls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1608) into code directly and removed LPFC_LOCK_ and _UNLOCK_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1609) macros
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1610) * Remove references to "elx_clock.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1611) * Added utsname.h to include list. The previous checkin to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1612) elx_os.h removed its inclusion of utsname.h since there is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1613) precious little in the file. However, lpfcLINUXfcp.c needs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1614) it and now has it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1615) * Removed some commented-out code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1616) * Removed elx_lck_t data structure, stray elxDRVR_t type, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1617) include from file. No longer used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1618) * Removed two PCI Sync defines. Removed includes - not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1619) needed. Cleaned up macro lines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1620) * Added two functions from elxLINUXfcp.c. These functions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1621) were IPFC specific.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1622) * Removed hipri lock abstractions and added OS call into code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1623) Removed elx_lck_t and added spinlock_t directly. Moved two
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1624) IPFC functions into lpfc_ipport.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1625) * Moved IP specific structures to lpfc_ip.h file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1626) * lpfc_ipfarp_timeout() uses system timer. Remove all usages
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1627) of old internal clock support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1628) * Made changes to compile without IPFC support for the default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1629) build. Added ifdef IPFC for all lpfc_ip.h includes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1630) * Patched elx_free_scsi_buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1631) * Removed elx_sched.o from 2.6 dependencies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1632) * Reworked lpfc_pcimap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1633) * Use Linux swap macros to replace ELX swapping macros
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1634) (SWAP_SHORT, SWAP_LONG, SWAP_DATA, SWAP_DATA16,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1635) PCIMEM_SHORT, PCIMEM_LONG, PCIMEM_DATA).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1636) * move in_interrupt() check inside of elx_sleep_ms()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1637) * Moved location of pci.h include.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1638) * Restored elx_lck_t types in elxHBA_t.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1639) * Removed elx_pci_dma_sync call. Also removed some PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1640) defines from elx_hw.h and removed the spinlock_t locks that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1641) are no longer used in elx.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1642) * elx_iodone() now uses system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1643) * elx_qfull_retry() now uses system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1644) * lpfc_put_buf(), lpfc_ip_xri_timeout() and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1645) lpfc_ip_timeout_handler() now use system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1646) * lpfc_fdmi_tmo() and lpfc_qthrottle_up() now use system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1647) timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1648) * Removed num_bufs and num_iocbs configuration parameters.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1649) * Fixed a memory corruption bug. This was caused by a memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1650) write to ndlp structure from lpfc_cmpl_els_acc function.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1651) This ndlp structure was freed from lpfc_els_unsol_event.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1652) * lpfc_disc_timeout() and lpfc_establish_link_tmo() now use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1653) system timer. Also update lpfc_els_retry_delay() to do a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1654) single lock release at the end.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1655) * Remove use of PAN (pseudo adapter number).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1656) * Reintroduced usage of the cross compiler for building on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1657) ppc64 to remove build errors that were cropping up when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1658) using the standard gcc compiler.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1659) * Fix no-unlock-before return in lpfc_els_retry_delay which was
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1660) causing a deadlock on insmod in some environments.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1661) * Minor format changes fix up comments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1662) * Create utility clock function elx_start_timer() and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1663) elx_stop_timer(). All timeout routines now use these common
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1664) routines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1665) * Minor formating changes fix up comments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1666) * Minor formatting changes get rid of failover defines for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1667) syntax checking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1668) * Minor formatting changes remove ISCSI defines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1669) * Fix typo in install target for 2.4 kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1670) * Removed unused elx_scsi_add_timer extern function
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1671) declaration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1672) * Cleanup casting around DMA masks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1673) * Comment out lpfndd.o modules_install section as lpfndd.o is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1674) not generated if CONFIG_NET_LPFC is not set. Also refer to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1675) BASEINCLUDE only in out of kernel source module builds as it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1676) will not exist otherwise.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1677) * Removed unused malloc counters from lpfcLINUXfcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1678) * Remove some unnecessary #includes in lpfcLINUXfcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1679) * Remove unncessary #includes in elxLINUXfcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1680) * Minor formatting cleanups in Makefile to avoid some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1681) linewrapping.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1682) * Removed unused elx_mem_pool data structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1683) * Remove several unnecessary #includes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1684) * Moving fix for memory leak in ioctl lip area to sysfs's lip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1685) * Removed unused elx_dma_handle_t elx_acc_handle_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1686) FC_MAX_SEGSZ and FC_MAX_POOL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1687) * Rewrite of Makefile. Fixes breakages with make -j4 during
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1688) kernel compile. Does not recompile all files on every
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1689) build. Uses the kernel build's definitions of CFLAGS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1690) MODFLAGS etc. Removed "make rpm" option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1691) * Removed unused #defines CLOSED, DEAD, OPENED, NORMAL_OPEN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1692) and unneeded #include of elx_sched.h in elx.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1693) * Several log message updates
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1694) * Add PCI_DEVICE_ID_FIREFLY for LP6000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1695) * Fixed known issues in 20040326: driver crashes on rmmod in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1696) both 2.4 and 2.6 kernels
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1697)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1698)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1699) Changes from 20040319 to 20040326
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1700)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1701) * Updated ChangeLog for 20040326 SourceForge drop.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1702) * remove lpfc_isr / lpfc_tmr logic fixed up 8 spaces from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1703) previous checkins with tabs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1704) * replace elx_in_intr() with in_interrupt()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1705) * Remove unused messages 1602 and 1603.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1706) * Fix the following issues with log messages: Remove unused
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1707) messages 406, 407, 409, 927, 928, 1201, 1202, 1204, 1205, 1206
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1708) and 1207. Create a new message 738 to fix duplicate instances
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1709) of 736.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1710) * Removed remaining pci interface abstractions from elxLINUXfcp.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1711) Implemented OS calls directly in all remaining files and cleaned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1712) up modules. Removed prototypes as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1713) * Removed following functions/structures elx_mem_dmapool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1714) elx_idx_dmapool elx_size_dmapool elx_kmem_lock dfc_data_alloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1715) dfc_data_free dfc_mem struct mbuf_info elx_acc_handle_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1716) data_handle elx_dma_handle_t dma_handle struct elx_memseg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1717) MEMSEG_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1718) * lpfc_els_timeout_handler() now uses system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1719) * Further cleanup of #ifdef powerpc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1720) * lpfc_scsi_timeout_handler() now uses system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1721) * Replace common driver's own defines for endianness w/ Linux's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1722) __BIG_ENDIAN etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1723) * Added #ifdef IPFC for all IPFC specific code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1724) * lpfc_disc_retry_rptlun() now uses system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1725) * lpfc_npr_timeout() now uses system timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1726) * Modified detect code, on insmod, to only wait a max of 2 secs if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1727) link comes up and there are no devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1728) * Move remaining message logging functions into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1729) elx_logmsg.c/elx_logmsg.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1730) * Added code to clear link attention bit when there is a pending
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1731) link event and the memory allocation for read_la mail box
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1732) command fails.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1733) * Removed function calls for mapping bar registers and allocating
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1734) kernel virtual memory mappings to the mapped bars Removed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1735) prototypes, lpfc_driver_cache_line, and pci_bar1_map rename to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1736) pci_bar2_map.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1737) * Allocate mbox only if the hba_state is in ready state.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1738) * Complete lip support via sysfs. To lip, echo brdnum >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1739) /sys/bus/pci/drivers/lpfc/lip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1740) * moving sysfs show/store implementations to lpfc_sysfs.c. Also add
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1741) support for lip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1742) * Add files: lpfc_sysfs.c, lpfc_sysfs.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1743) * move LPFC_DRIVER_NAME and LPFC_MODULE_DESC out of lpfcLINUXfcp.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1744) to lpfc_version.h, since it is now needed in lpfc_sysfs.c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1745) * elx_mbox_timeout now uses system timer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1746) * Changed lpfc_nodev_timeout, lpfc_els_retry_delay and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1747) lpfc_linkdown_timeout to use the system timer instead of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1748) internal clock support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1749) * Move remaining message logging functions in elx_util.c to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1750) elx_logmsg.c.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1751) * Remove some unnecessary typecasting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1752) * Remove log message that is no longer used (was used by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1753) elx_str_atox).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1754) * Replaced DLINK_t and SLINK_t by standard Linux list_head
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1755) * Removed deque macro
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1756) * Replaced ELX_DLINK_t ans ELX_SLINK_t by Linux struct list_head
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1757) (except for clock)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1758) * Removed following functions from code: linux_kmalloc linux_kfree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1759) elx_alloc_bigbuf elx_free_bigbuf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1760) * Removed following abstract functions from the code. elx_malloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1761) elx_free elx_ip_get_rcv_buf elx_ip_free_rcv_buf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1762) elx_mem_alloc_dmabuf elx_mem_alloc_dmabufext elx_mem_alloc_dma
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1763) elx_mem_alloc_buf lpfc_bufmap
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1764) * Removed custom PCI configuration #defines and replaced with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1765) OS-provided #defines. Also added linux/pci.h to *.c files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1766) * Remove elx_str_ctox. Replace elx_str_atox with sscanf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1767) * Many indentation/whitespace fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1768) * Replace elx_str_ctox with isxdigit where it was only used to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1769) check the value of a character.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1770) * Removed following functions from the code. elx_kmem_free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1771) elx_kmem_alloc elx_kmem_zalloc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1772) * Change use of 2.4 SCSI typedef Scsi_Host_Template to struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1773) scsi_host_template for 2.6 kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1774) * Change use of 2.4 SCSI typedefs (Scsi_Device, Scsi_Cmnd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1775) Scsi_Request) the their real struct names.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1776) * Move 2.6 compatibility irqreturn definitions to lpfc_compat.h.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1777) Protect these definitions from conflicting with similar ones in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1778) later 2.4 kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1779) * Remove unused definitions: LINUX_TGT_t, LINUX_LUN_t,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1780) LINUX_BUF_t, elx_lun_t, SET_ADAPTER_STATUS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1781) * Convert pci_ calls to linux 2.6 dma_ equivalents.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1782) * Removed unused types: struct buf, struct sc_buf, T_SCSIBUF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1783) typedef.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1784) * Fix Makefile so that 2.4 drivers don't always rebuild all files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1785) * Remove unused _static_ and fc_lun_t definitions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1786) * Cleaned up some memory pool implementation code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1787) * Fix panic with char dev changes. Turns out that 2.6.4 code does
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1788) the same in kernel space with the 2.4 interface style
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1789) definitions. So remove the new char dev code altogether.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1790) * Remove typecasting from fc_get_cfg_param and consolidate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1791) multiple instances of the parameter switch into a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1792) instance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1793) * Use lpfc_is_LC_HBA() macro that tests pcidev->device directly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1794) instead of saving a private copy that undergoes varied shifting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1795) & casting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1796) * Removed usage of all memory pools.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1797)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1798) Changes from 20040312 to 20040319
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1799)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1800) * Use dev_warn instead of printk for 2.6 kernels
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1801) * Correct Iocbq completion routine for 2.6 kernel case
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1802) * Change void *pOSCmd to Scsi_Smnd *pCmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1803) * Change void *pOScmd to struct sk_buff *pCmd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1804) * Remove data directon code.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1805) * Removed memory pool for buf/bpl buffers and use kmalloc/kfree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1806) pci_pool_alloc/free directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1807) * Move PPC check for DMA address 0 in scatter-gather list, into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1808) lpfc_compat.h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1809) * Always use pci_unmap_single() instead of pci_unmap_page()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1810) * Clean up the 2.6 vs 2.4 #if blocks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1811) * Conditionalize Scheduler
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1812) * Add a comment to explain a little what the first Makefile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1813) section does.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1814) * Removed lpfc_intr_post
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1815) * Sysfs new display format. Also added write functionality. You
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1816) can [ echo "0 log_verbose 3" >
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1817) /sys/bus/pci/drivers/lpfc/params]. Hex support yet to be added.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1818) * Removed several #ifdef powerpc, including for a discovery issue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1819) in lpfc_ValidLun()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1820) * Change elx_printf_log to use vsprintf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1821) * Added lpfc_compat.h provides macros to aid compilation in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1822) Linux 2.4 kernel over various platform architectures. Initially
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1823) support mapping to a DMA address.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1824) * Removed memory pool for nlp/bind buffers and use kmalloc/kfree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1825) directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1826) * Removed memory pool for iocb buffers and use kmalloc/kfree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1827) directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1828) * Removed memory pool for mailbox buffers and use kmalloc/kfree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1829) directly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1830) * Cleaned up back and forth casts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1831) * Initial support for sysfs for 2.6 kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1832) * Changed elx_dma_addr_t to dma_addr_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1833) * Fix a 2.6 kernel check to be >= 2.6.0 instead of > (was missing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1834) 2.6.0).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1835) * Remove elx_printf and elx_str_sprintf. Replace elx_print with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1836) printk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1837) * Replace elx_printf with printk.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1838) * Replace elx_str_sprintf with sprintf.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1839) * Removed the mem_lock, its prototype, function, macro, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1840) iflags.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1841) * Use kmalloc/kfree for ELX_SCSI_BUF_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1842) * Use linux pci_pools for SCSI_DMA_EXT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1843) * Use linux pci_pools for BPLs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1844) * Minor cleanup of DFC args for PPC64.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1845) * Several small indentation cleanups.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1846) * New Linux 2.6 style of char device registration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1847) * Migrated members of LPFCHBA_t and LINUX_HBA_t into elxHBA_t
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1848) * Use strcpy, strncmp, isdigit, strlen instead of abstractions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1849) * Cleanup of driver_template.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1850) * Facilitate compile time turn on/off of lpfc_network_on.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1851) * Split large source files into smaller, better named ones.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1852)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1853) Changes from 2.10a to 20040312
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1854)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1855) * Fix build for 2.4 kernels
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1856) * Move driver version macros into lpfc_version.h file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1857) * Fixed data miscompare with LIP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1858) * Removed elx_sli, elx_ioc, elx_disc, elx_sch routines,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1859) prototypes, and reference points.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1860) * Correct the space insertions with hardtabs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1861) * Remove routine call pointers in ELX_SLI_INIT_t struct.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1862) * Removed module locks except for drvr, mem, and clock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1863) * Removed unused module locks from sourcebase. Kept drvr_lock,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1864) mem_lock, and clock_lock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1865) * Change NULL to 0