<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/lpfc, branch linux-3.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-04-07T07:17:51Z</updated>
<entry>
<title>scsi: lpfc: Add shutdown method for kexec</title>
<updated>2017-04-07T07:17:51Z</updated>
<author>
<name>Anton Blanchard</name>
</author>
<published>2017-02-12T21:49:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f718126abb3a1ab5299a2796711acda4ee685e9'/>
<id>urn:sha1:0f718126abb3a1ab5299a2796711acda4ee685e9</id>
<content type='text'>
commit 85e8a23936ab3442de0c42da97d53b29f004ece1 upstream.

We see lpfc devices regularly fail during kexec. Fix this by adding a
shutdown method which mirrors the remove method.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Reviewed-by: Mauricio Faria de Oliveira &lt;mauricfo@linux.vnet.ibm.com&gt;
Tested-by: Mauricio Faria de Oliveira &lt;mauricfo@linux.vnet.ibm.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>scsi: lpfc: Correct WQ creation for pagesize</title>
<updated>2017-03-13T20:40:41Z</updated>
<author>
<name>James Smart</name>
</author>
<published>2017-02-12T21:52:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35e9a0a8161c7c92dee9ce53b5e47a2fc5f062c3'/>
<id>urn:sha1:35e9a0a8161c7c92dee9ce53b5e47a2fc5f062c3</id>
<content type='text'>
commit 8ea73db486cda442f0671f4bc9c03a76be398a28 upstream.

Correct WQ creation for pagesize

The driver was calculating the adapter command pagesize indicator from
the system pagesize. However, the buffers the driver allocates are only
one size (SLI4_PAGE_SIZE), so no calculation was necessary.

Signed-off-by: Dick Kennedy &lt;dick.kennedy@broadcom.com&gt;
Signed-off-by: James Smart &lt;james.smart@broadcom.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Cc: Mauricio Faria de Oliveira &lt;mauricfo@linux.vnet.ibm.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>lpfc: fix misleading indentation</title>
<updated>2016-05-11T09:37:33Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2016-03-14T14:29:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba4d65ded3156a9b93f1de2904fcc88d6ddc7445'/>
<id>urn:sha1:ba4d65ded3156a9b93f1de2904fcc88d6ddc7445</id>
<content type='text'>
commit aeb6641f8ebdd61939f462a8255b316f9bfab707 upstream.

gcc-6 complains about the indentation of the lpfc_destroy_vport_work_array()
call in lpfc_online(), which clearly doesn't look right:

drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_online':
drivers/scsi/lpfc/lpfc_init.c:2880:3: warning: statement is indented as if it were guarded by... [-Wmisleading-indentation]
   lpfc_destroy_vport_work_array(phba, vports);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/lpfc/lpfc_init.c:2863:2: note: ...this 'if' clause, but it is not
  if (vports != NULL)
  ^~

Looking at the patch that introduced this code, it's clear that the
behavior is correct and the indentation is wrong.

This fixes the indentation and adds curly braces around the previous
if() block for clarity, as that is most likely what caused the code
to be misindented in the first place.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Fixes: 549e55cd2a1b ("[SCSI] lpfc 8.2.2 : Fix locking around HBA's port_list")
Reviewed-by: Sebastian Herbszt &lt;herbszt@gmx.de&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.com&gt;
Reviewed-by: Ewan D. Milne &lt;emilne@redhat.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;

</content>
</entry>
<entry>
<title>Fix kmalloc overflow in LPFC driver at large core count</title>
<updated>2016-04-11T14:43:55Z</updated>
<author>
<name>Ian Mitchell</name>
</author>
<published>2015-08-31T20:48:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d93cbb4439e3d9e898df3dd526db2e4c3f5d7968'/>
<id>urn:sha1:d93cbb4439e3d9e898df3dd526db2e4c3f5d7968</id>
<content type='text'>
commit c0365c0692d6ea038bb4feda308eec69e11292a3 upstream.

This patch allows the LPFC to start up without a fatal kernel bug based
on an exceeded KMALLOC_MAX_SIZE and a too large NR_CPU-based maskbits
field. The bug was based on the number of CPU cores in a system.
Using the get_cpu_mask() function declared in kernel/cpu.c allows the
driver to load on the community kernel 4.2 RC1.

Below is the kernel bug reproduced:

8&lt;--------------------------------------------------------------------
2199382.828437 (    0.005216)| lpfc 0003:02:00.0: enabling device (0140 -&gt; 0142)
2199382.999272 (    0.170835)| ------------[ cut here ]------------
2199382.999337 (    0.000065)| WARNING: CPU: 84 PID: 404 at mm/slab_common.c:653 kmalloc_slab+0x2f/0x89()
2199383.004534 (    0.005197)| Modules linked in: lpfc(+) usbcore(+) mptctl scsi_transport_fc sg lpc_ich i2c_i801 usb_common tpm_tis mfd_core tpm acpi_cpufreq button scsi_dh_alua scsi_dh_rdacusbcore: registered new device driver usb
2199383.020568 (    0.016034)|
2199383.020581 (    0.000013)|  scsi_dh_hp_sw scsi_dh_emc scsi_dh gru thermal sata_nv processor piix fan thermal_sysehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
2199383.035288 (    0.014707)|
2199383.035306 (    0.000018)|  hwmon ata_piix
2199383.035336 (    0.000030)| CPU: 84 PID: 404 Comm: kworker/84:0 Not tainted 3.18.0-rc2-gat-00106-ga7ca10f-dirty #178
2199383.047077 (    0.011741)| ehci-pci: EHCI PCI platform driver
2199383.047134 (    0.000057)| Hardware name: SGI UV2000/ROMLEY, BIOS SGI UV 2000/3000 series BIOS 01/15/2013
2199383.056245 (    0.009111)| Workqueue: events work_for_cpu_fn
2199383.066174 (    0.009929)|  000000000000028d ffff88eef827bbe8 ffffffff815a542f 000000000000028d
2199383.069545 (    0.003371)|  ffffffff810ea142 ffff88eef827bc28 ffffffff8104365c ffff88eefe4006c8
2199383.076214 (    0.006669)|  0000000000000000 00000000000080d0 0000000000000000 0000000000000004
2199383.079213 (    0.002999)| Call Trace:
2199383.084084 (    0.004871)|  [&lt;ffffffff815a542f&gt;] dump_stack+0x49/0x62
2199383.087283 (    0.003199)|  [&lt;ffffffff810ea142&gt;] ? kmalloc_slab+0x2f/0x89
2199383.091415 (    0.004132)|  [&lt;ffffffff8104365c&gt;] warn_slowpath_common+0x77/0x92
2199383.095197 (    0.003782)|  [&lt;ffffffff8104368c&gt;] warn_slowpath_null+0x15/0x17
2199383.103336 (    0.008139)|  [&lt;ffffffff810ea142&gt;] kmalloc_slab+0x2f/0x89
2199383.107082 (    0.003746)|  [&lt;ffffffff8110fd9e&gt;] __kmalloc+0x13/0x16a
2199383.112531 (    0.005449)|  [&lt;ffffffffa01a8ed9&gt;] lpfc_pci_probe_one_s4+0x105b/0x1644 [lpfc]
2199383.115316 (    0.002785)|  [&lt;ffffffff81302b92&gt;] ? pci_bus_read_config_dword+0x75/0x87
2199383.123431 (    0.008115)|  [&lt;ffffffffa01a951f&gt;] lpfc_pci_probe_one+0x5d/0xcb5 [lpfc]
2199383.127364 (    0.003933)|  [&lt;ffffffff81497119&gt;] ? dbs_check_cpu+0x168/0x177
2199383.136438 (    0.009074)|  [&lt;ffffffff81496fa5&gt;] ? gov_queue_work+0xb4/0xc0
2199383.140407 (    0.003969)|  [&lt;ffffffff8130b2a1&gt;] local_pci_probe+0x1e/0x52
2199383.143105 (    0.002698)|  [&lt;ffffffff81052c47&gt;] work_for_cpu_fn+0x13/0x1b
2199383.147315 (    0.004210)|  [&lt;ffffffff81054965&gt;] process_one_work+0x222/0x35e
2199383.151379 (    0.004064)|  [&lt;ffffffff81054e76&gt;] worker_thread+0x3d5/0x46e
2199383.159402 (    0.008023)|  [&lt;ffffffff81054aa1&gt;] ? process_one_work+0x35e/0x35e
2199383.163097 (    0.003695)|  [&lt;ffffffff810599c6&gt;] kthread+0xc8/0xd2
2199383.167476 (    0.004379)|  [&lt;ffffffff810598fe&gt;] ? kthread_freezable_should_stop+0x5b/0x5b
2199383.176434 (    0.008958)|  [&lt;ffffffff815a8cac&gt;] ret_from_fork+0x7c/0xb0
2199383.180086 (    0.003652)|  [&lt;ffffffff810598fe&gt;] ? kthread_freezable_should_stop+0x5b/0x5b
2199383.192333 (    0.012247)| ehci-pci 0000:00:1a.0: EHCI Host Controller
--------------------------------------------------------------------&gt;8

The proposed solution was approved by James Smart at Emulex and tested
on a UV2 machine with 6144 cores. With the fix, the LPFC module loads
with no unwanted effects on the system.

Signed-off-by: Ian Mitchell &lt;imitchell@sgi.com&gt;
Signed-off-by: Alex Thorlton &lt;athorlton@sgi.com&gt;
Suggested-by: Robert Elliot &lt;elliott@hp.com&gt;
[james.smart: resolve unused variable warning]
Signed-off-by: James Smart &lt;james.smart@avagotech.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>lpfc: Fix null ndlp dereference in target_reset_handler</title>
<updated>2016-01-11T15:07:24Z</updated>
<author>
<name>James Smart</name>
</author>
<published>2015-04-07T19:07:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5a8fe8431e479268502daaa4265ee1a7644f1c7d'/>
<id>urn:sha1:5a8fe8431e479268502daaa4265ee1a7644f1c7d</id>
<content type='text'>
commit 63e480fd2f598e9ad37f89e79c36834e7dd60ba0 upstream.

Signed-off-by: Dick Kennedy &lt;dick.kennedy@emulex.com&gt;
Signed-off-by: James Smart &lt;james.smart@emulex.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Acked-by: Johannes Thumshirn &lt;jthumshirn@suse.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>lpfc: Fix scsi prep dma buf error.</title>
<updated>2015-09-02T13:49:54Z</updated>
<author>
<name>James Smart</name>
</author>
<published>2015-05-22T14:42:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=62d80e38ed89ca1e7dc9424c7c4438d46be924d9'/>
<id>urn:sha1:62d80e38ed89ca1e7dc9424c7c4438d46be924d9</id>
<content type='text'>
commit 5116fbf136ea21b8678a85eee5c03508736ada9f upstream.

Didn't check for less-than-or-equal zero. Means we may later call
scsi_dma_unmap() even though we don't have valid mappings.

Signed-off-by: Dick Kennedy &lt;dick.kennedy@avagotech.com&gt;
Signed-off-by: James Smart &lt;james.smart@avagotech.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
</content>
</entry>
<entry>
<title>lpfc: Add iotag memory barrier</title>
<updated>2015-07-30T11:21:20Z</updated>
<author>
<name>James Smart</name>
</author>
<published>2014-05-07T21:16:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d8c6ea5bce8b12b26502c230715415b693c340d6'/>
<id>urn:sha1:d8c6ea5bce8b12b26502c230715415b693c340d6</id>
<content type='text'>
commit 27f344eb15dd0da80ebec80c7245e8c85043f841 upstream.

Add a memory barrier to ensure the valid bit is read before
any of the cqe payload is read. This fixes an issue seen
on Power where the cqe payload was getting loaded before
the valid bit. When this occurred, we saw an iotag out of
range error when a command completed, but since the iotag
looked invalid the command didn't get completed to scsi core.
Later we hit the command timeout, attempted to abort the command,
then waited for the aborted command to get returned. Since the
adapter already returned the command, we timeout waiting,
and end up escalating EEH all the way to host reset. This
patch fixes this issue.

Signed-off-by: Brian King &lt;brking@linux.vnet.ibm.com&gt;
Signed-off-by: James Smart &lt;james.smart@emulex.com&gt;

 ---

 lpfc_sli.c |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;

Signed-off-by: Jiri Slaby &lt;jslaby@suse.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi</title>
<updated>2013-09-15T21:41:30Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2013-09-15T21:41:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0375ec5899a37e80af7be8e813548df3292325ff'/>
<id>urn:sha1:0375ec5899a37e80af7be8e813548df3292325ff</id>
<content type='text'>
Pull misc SCSI driver updates from James Bottomley:
 "This patch set is a set of driver updates (megaraid_sas, fnic, lpfc,
  ufs, hpsa) we also have a couple of bug fixes (sd out of bounds and
  ibmvfc error handling) and the first round of esas2r checker fixes and
  finally the much anticipated big endian additions for megaraid_sas"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (47 commits)
  [SCSI] fnic: fnic Driver Tuneables Exposed through CLI
  [SCSI] fnic: Kernel panic while running sh/nosh with max lun cfg
  [SCSI] fnic: Hitting BUG_ON(io_req-&gt;abts_done) in fnic_rport_exch_reset
  [SCSI] fnic: Remove QUEUE_FULL handling code
  [SCSI] fnic: On system with &gt;1.1TB RAM, VIC fails multipath after boot up
  [SCSI] fnic: FC stat param seconds_since_last_reset not getting updated
  [SCSI] sd: Fix potential out-of-bounds access
  [SCSI] lpfc 8.3.42: Update lpfc version to driver version 8.3.42
  [SCSI] lpfc 8.3.42: Fixed issue of task management commands having a fixed timeout
  [SCSI] lpfc 8.3.42: Fixed inconsistent spin lock usage.
  [SCSI] lpfc 8.3.42: Fix driver's abort loop functionality to skip IOs already getting aborted
  [SCSI] lpfc 8.3.42: Fixed failure to allocate SCSI buffer on PPC64 platform for SLI4 devices
  [SCSI] lpfc 8.3.42: Fix WARN_ON when driver unloads
  [SCSI] lpfc 8.3.42: Avoided making pci bar ioremap call during dual-chute WQ/RQ pci bar selection
  [SCSI] lpfc 8.3.42: Fixed driver iocbq structure's iocb_flag field running out of space
  [SCSI] lpfc 8.3.42: Fix crash on driver load due to cpu affinity logic
  [SCSI] lpfc 8.3.42: Fixed logging format of setting driver sysfs attributes hard to interpret
  [SCSI] lpfc 8.3.42: Fixed back to back RSCNs discovery failure.
  [SCSI] lpfc 8.3.42: Fixed race condition between BSG I/O dispatch and timeout handling
  [SCSI] lpfc 8.3.42: Fixed function mode field defined too small for not recognizing dual-chute mode
  ...
</content>
</entry>
<entry>
<title>[SCSI] lpfc 8.3.42: Update lpfc version to driver version 8.3.42</title>
<updated>2013-09-11T00:33:39Z</updated>
<author>
<name>James Smart</name>
</author>
<published>2013-09-06T16:23:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76c4f79d909623ea144262626428a2dfb54b40e3'/>
<id>urn:sha1:76c4f79d909623ea144262626428a2dfb54b40e3</id>
<content type='text'>
Signed-off-by: James Smart &lt;james.smart@emulex.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] lpfc 8.3.42: Fixed issue of task management commands having a fixed timeout</title>
<updated>2013-09-11T00:32:36Z</updated>
<author>
<name>James Smart</name>
</author>
<published>2013-09-06T16:22:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c4112223cc947992186f13837747c3b259bd31d'/>
<id>urn:sha1:0c4112223cc947992186f13837747c3b259bd31d</id>
<content type='text'>
Signed-off-by: James Smart &lt;james.smart@emulex.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
</feed>
