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