<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/fnic, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-12-29T12:42:39Z</updated>
<entry>
<title>scsi: fnic: Fix error return code in fnic_probe()</title>
<updated>2020-12-29T12:42:39Z</updated>
<author>
<name>Zhang Changzhong</name>
</author>
<published>2020-12-04T07:47:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e25a61d6b777fe336c187251fe0fda375f5971c4'/>
<id>urn:sha1:e25a61d6b777fe336c187251fe0fda375f5971c4</id>
<content type='text'>
[ Upstream commit d4fc94fe65578738ded138e9fce043db6bfc3241 ]

Return a negative error code from the error handling case instead of 0 as
done elsewhere in this function.

Link: https://lore.kernel.org/r/1607068060-31203-1-git-send-email-zhangchangzhong@huawei.com
Fixes: 5df6d737dd4b ("[SCSI] fnic: Add new Cisco PCI-Express FCoE HBA")
Reported-by: Hulk Robot &lt;hulkci@huawei.com&gt;
Reviewed-by: Karan Tilak Kumar &lt;kartilak@cisco.com&gt;
Signed-off-by: Zhang Changzhong &lt;zhangchangzhong@huawei.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>scsi: fnic: do not queue commands during fwreset</title>
<updated>2020-02-05T13:03:42Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2020-01-16T10:20:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=337776ece904d493448b1f2257b76ac43fe7e625'/>
<id>urn:sha1:337776ece904d493448b1f2257b76ac43fe7e625</id>
<content type='text'>
[ Upstream commit 0e2209629fec427ba75a6351486153a9feddd36b ]

When a link is going down the driver will be calling fnic_cleanup_io(),
which will traverse all commands and calling 'done' for each found command.
While the traversal is handled under the host_lock, calling 'done' happens
after the host_lock is being dropped.

As fnic_queuecommand_lck() is being called with the host_lock held, it
might well be that it will pick the command being selected for abortion
from the above routine and enqueue it for sending, but then 'done' is being
called on that very command from the above routine.

Which of course confuses the hell out of the scsi midlayer.

So fix this by not queueing commands when fnic_cleanup_io is active.

Link: https://lore.kernel.org/r/20200116102053.62755-1-hare@suse.de
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>scsi: fnic: fix invalid stack access</title>
<updated>2020-01-23T07:18:40Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2020-01-07T20:15:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f438de085af3f3fa43e49ccd62c3e55effcdd0e9'/>
<id>urn:sha1:f438de085af3f3fa43e49ccd62c3e55effcdd0e9</id>
<content type='text'>
[ Upstream commit 42ec15ceaea74b5f7a621fc6686cbf69ca66c4cf ]

gcc -O3 warns that some local variables are not properly initialized:

drivers/scsi/fnic/vnic_dev.c: In function 'fnic_dev_hang_notify':
drivers/scsi/fnic/vnic_dev.c:511:16: error: 'a0' is used uninitialized in this function [-Werror=uninitialized]
  vdev-&gt;args[0] = *a0;
  ~~~~~~~~~~~~~~^~~~~
drivers/scsi/fnic/vnic_dev.c:691:6: note: 'a0' was declared here
  u64 a0, a1;
      ^~
drivers/scsi/fnic/vnic_dev.c:512:16: error: 'a1' is used uninitialized in this function [-Werror=uninitialized]
  vdev-&gt;args[1] = *a1;
  ~~~~~~~~~~~~~~^~~~~
drivers/scsi/fnic/vnic_dev.c:691:10: note: 'a1' was declared here
  u64 a0, a1;
          ^~
drivers/scsi/fnic/vnic_dev.c: In function 'fnic_dev_mac_addr':
drivers/scsi/fnic/vnic_dev.c:512:16: error: 'a1' is used uninitialized in this function [-Werror=uninitialized]
  vdev-&gt;args[1] = *a1;
  ~~~~~~~~~~~~~~^~~~~
drivers/scsi/fnic/vnic_dev.c:698:10: note: 'a1' was declared here
  u64 a0, a1;
          ^~

Apparently the code relies on the local variables occupying adjacent memory
locations in the same order, but this is of course not guaranteed.

Use an array of two u64 variables where needed to make it work correctly.

I suspect there is also an endianness bug here, but have not digged in deep
enough to be sure.

Fixes: 5df6d737dd4b ("[SCSI] fnic: Add new Cisco PCI-Express FCoE HBA")
Fixes: mmtom ("init/Kconfig: enable -O3 for all arches")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200107201602.4096790-1-arnd@arndb.de
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>scsi: fnic: use kernel's '%pM' format option to print MAC</title>
<updated>2020-01-23T07:18:39Z</updated>
<author>
<name>Andy Shevchenko</name>
</author>
<published>2016-10-22T17:32:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11f9b4d8c1fb519f3f0a1038a458345daa1b999b'/>
<id>urn:sha1:11f9b4d8c1fb519f3f0a1038a458345daa1b999b</id>
<content type='text'>
[ Upstream commit 36fe90b0f0bdc9d030e88ba2153f3c8d6b6a5964 ]

Instead of supplying each byte through stack let's use %pM specifier.

Cc: Hiral Patel &lt;hiralpat@cisco.com&gt;
Cc: Suma Ramars &lt;sramars@cisco.com&gt;
Acked-by: Tom Tucker &lt;tom@opengridcomputing.com&gt;
Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.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: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>scsi: fnic: Avoid sending reset to firmware when another reset is in progress</title>
<updated>2017-08-07T02:19:47Z</updated>
<author>
<name>Satish Kharat</name>
</author>
<published>2016-12-14T21:20:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=27eb77b5544ef30e9532bef984b637f9039f4e28'/>
<id>urn:sha1:27eb77b5544ef30e9532bef984b637f9039f4e28</id>
<content type='text'>
[ Upstream commit 9698b6f473555a722bf81a3371998427d5d27bde ]

This fix is to avoid calling fnic_fw_reset_handler through
fnic_host_reset when a finc reset is alreay in progress.

Signed-off-by: Satish Kharat &lt;satishkh@cisco.com&gt;
Signed-off-by: Sesidhar Baddela &lt;sebaddel@cisco.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>fnic: pci_dma_mapping_error() doesn't return an error code</title>
<updated>2016-10-07T13:23:45Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2016-07-07T08:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07dc7252685d3368a5ef77da8f28a890ca8a621b'/>
<id>urn:sha1:07dc7252685d3368a5ef77da8f28a890ca8a621b</id>
<content type='text'>
commit dd7328e4c53649c1c7ec36bc1cf5b229b8662047 upstream.

pci_dma_mapping_error() returns true on error and false on success.

Fixes: fd6ddfa4c1dd ('fnic: check pci_map_single() return value')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>scsi: use host wide tags by default</title>
<updated>2015-11-10T01:11:57Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2015-10-08T08:28:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64d513ac31bd02a3c9b69ef04444f36c196f9a9d'/>
<id>urn:sha1:64d513ac31bd02a3c9b69ef04444f36c196f9a9d</id>
<content type='text'>
This patch changes the !blk-mq path to the same defaults as the blk-mq
I/O path by always enabling block tagging, and always using host wide
tags.  We've had blk-mq available for a few releases so bugs with
this mode should have been ironed out, and this ensures we get better
coverage of over tagging setup over different configs.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Acked-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
</entry>
<entry>
<title>fnic: check pci_map_single() return value</title>
<updated>2015-10-27T02:05:45Z</updated>
<author>
<name>Maurizio Lombardi</name>
</author>
<published>2015-08-12T15:00:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd6ddfa4c1ddfb4a149b31845144b4cf3cbef54d'/>
<id>urn:sha1:fd6ddfa4c1ddfb4a149b31845144b4cf3cbef54d</id>
<content type='text'>
the kernel prints some warnings when compiled with CONFIG_DMA_API_DEBUG.
This is because the fnic driver doesn't check the return value of
pci_map_single().

[   11.942770] scsi host12: fnic
[   11.950811] ------------[ cut here ]------------
[   11.950818] WARNING: at lib/dma-debug.c:937 check_unmap+0x47b/0x920()
[   11.950821] fnic 0000:0c:00.0: DMA-API: device driver failed to check map error[device address=0x0000002020a30040] [size=44 bytes] [mapped as single]

Signed-off-by: Maurizio Lombardi &lt;mlombard@redhat.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed By: Tomas Henzl &lt;thenzl@redhat.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
</entry>
<entry>
<title>fnic: Use the local variable instead of I/O flag to acquire io_req_lock in fnic_queuecommand() to avoid deadloack</title>
<updated>2015-08-18T15:11:23Z</updated>
<author>
<name>Hiral Shah</name>
</author>
<published>2015-07-14T14:08:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db196935d9562abec4510f48d887bc1f1e054fcf'/>
<id>urn:sha1:db196935d9562abec4510f48d887bc1f1e054fcf</id>
<content type='text'>
We added changes in fnic driver patch 1.6.0.16 to acquire
io_req_lock in fnic_queuecommand() before issuing I/O so that io completion
is serialized. But when releasing the lock we check for the I/O flag and
this could be modified if IO abort occurs before I/O completion. In this case
we wont release the lock and causes deadlock in some scenerios. Using the
local variable to check the IO lock status will resolve the problem.

Fixes: 41df7b02db82cf6c14f094757bac3830d10a827f
Signed-off-by: Hiral Shah &lt;hishah@cisco.com&gt;
Signed-off-by: Sesidhar Baddela &lt;sebaddel@cisco.com&gt;
Signed-off-by: Anil Chintalapati &lt;achintal@cisco.com&gt;
Reviewed-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
</entry>
<entry>
<title>x86/mm: Decouple &lt;linux/vmalloc.h&gt; from &lt;asm/io.h&gt;</title>
<updated>2015-06-03T10:02:00Z</updated>
<author>
<name>Stephen Rothwell</name>
</author>
<published>2015-06-02T09:01:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6472302f242559d45dcf4ebace62508dc4d8aeb'/>
<id>urn:sha1:d6472302f242559d45dcf4ebace62508dc4d8aeb</id>
<content type='text'>
Nothing in &lt;asm/io.h&gt; uses anything from &lt;linux/vmalloc.h&gt;, so
remove it from there and fix up the resulting build problems
triggered on x86 {64|32}-bit {def|allmod|allno}configs.

The breakages were triggering in places where x86 builds relied
on vmalloc() facilities but did not include &lt;linux/vmalloc.h&gt;
explicitly and relied on the implicit inclusion via &lt;asm/io.h&gt;.

Also add:

  - &lt;linux/init.h&gt; to &lt;linux/io.h&gt;
  - &lt;asm/pgtable_types&gt; to &lt;asm/io.h&gt;

... which were two other implicit header file dependencies.

Suggested-by: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
[ Tidied up the changelog. ]
Acked-by: David Miller &lt;davem@davemloft.net&gt;
Acked-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Acked-by: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Acked-by: Vinod Koul &lt;vinod.koul@intel.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Anton Vorontsov &lt;anton@enomsg.org&gt;
Cc: Boris Ostrovsky &lt;boris.ostrovsky@oracle.com&gt;
Cc: Colin Cross &lt;ccross@android.com&gt;
Cc: David Vrabel &lt;david.vrabel@citrix.com&gt;
Cc: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Cc: James E.J. Bottomley &lt;JBottomley@odin.com&gt;
Cc: Jaroslav Kysela &lt;perex@perex.cz&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Cc: Kristen Carlson Accardi &lt;kristen@linux.intel.com&gt;
Cc: Len Brown &lt;lenb@kernel.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;
Cc: Suma Ramars &lt;sramars@cisco.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
</feed>
