blob: 6e217e82b9b9511e253af8ff4e08d2096095ed04 [file] [log] [blame]
Mauro Carvalho Chehabb4adb752020-03-02 09:15:54 +01001.. SPDX-License-Identifier: GPL-2.0
dea31012005-04-17 16:05:31 -05002
Mauro Carvalho Chehabb4adb752020-03-02 09:15:54 +01003=========================
4LPFC Driver Release Notes
5=========================
dea31012005-04-17 16:05:31 -05006
7
Mauro Carvalho Chehabb4adb752020-03-02 09:15:54 +01008.. important::
dea31012005-04-17 16:05:31 -05009
10 Starting in the 8.0.17 release, the driver began to be targeted strictly
11 toward the upstream kernel. As such, we removed #ifdefs for older kernels
12 (pre 2.6.10). The 8.0.16 release should be used if the driver is to be
13 run on one of the older kernels.
14
15 The proposed modifications to the transport layer for FC remote ports
16 and extended attribute support is now part of the upstream kernel
17 as of 2.6.12. We no longer need to provide patches for this support,
18 nor a *full* version which has old an new kernel support.
19
20 The driver now requires a 2.6.12 (if pre-release, 2.6.12-rc1) or later
21 kernel.
22
23 Please heed these dependencies....
24
25
dea31012005-04-17 16:05:31 -050026The following information is provided for additional background on the
27history of the driver as we push for upstream acceptance.
28
29Cable pull and temporary device Loss:
30
31 In older revisions of the lpfc driver, the driver internally queued i/o
32 received from the midlayer. In the cases where a cable was pulled, link
33 jitter, or a device temporarily loses connectivity (due to its cable
34 being removed, a switch rebooting, or a device reboot), the driver could
35 hide the disappearance of the device from the midlayer. I/O's issued to
36 the LLDD would simply be queued for a short duration, allowing the device
Matt LaPlanted9195882008-07-25 19:45:33 -070037 to reappear or link come back alive, with no inadvertent side effects
dea31012005-04-17 16:05:31 -050038 to the system. If the driver did not hide these conditions, i/o would be
39 errored by the driver, the mid-layer would exhaust its retries, and the
40 device would be taken offline. Manual intervention would be required to
41 re-enable the device.
42
43 The community supporting kernel.org has driven an effort to remove
44 internal queuing from all LLDDs. The philosophy is that internal
45 queuing is unnecessary as the block layer already performs the
46 queuing. Removing the queues from the LLDD makes a more predictable
47 and more simple LLDD.
48
49 As a potential new addition to kernel.org, the 8.x driver was asked to
50 have all internal queuing removed. Emulex complied with this request.
51 In explaining the impacts of this change, Emulex has worked with the
52 community in modifying the behavior of the SCSI midlayer so that SCSI
53 devices can be temporarily suspended while transport events (such as
54 those described) can occur.
55
56 The proposed patch was posted to the linux-scsi mailing list. The patch
57 is contained in the 2.6.10-rc2 (and later) patch kits. As such, this
58 patch is part of the standard 2.6.10 kernel.
59
60 By default, the driver expects the patches for block/unblock interfaces
61 to be present in the kernel. No #define needs to be set to enable support.
62
63
64Kernel Support
Mauro Carvalho Chehabb4adb752020-03-02 09:15:54 +010065==============
dea31012005-04-17 16:05:31 -050066
67 This source package is targeted for the upstream kernel only. (See notes
68 at the top of this file). It relies on interfaces that are slowing
69 migrating into the kernel.org kernel.
70
71 At this time, the driver requires the 2.6.12 (if pre-release, 2.6.12-rc1)
72 kernel.
73
74 If a driver is needed for older kernels please utilize the 8.0.16
75 driver sources.
76
77
78Patches
Mauro Carvalho Chehabb4adb752020-03-02 09:15:54 +010079=======
dea31012005-04-17 16:05:31 -050080
81 Thankfully, at this time, patches are not needed.