<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/scsi.c, 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>2021-11-12T12:17:07Z</updated>
<entry>
<title>scsi: core: Put LLD module refcnt after SCSI device is released</title>
<updated>2021-11-12T12:17:07Z</updated>
<author>
<name>Ming Lei</name>
</author>
<published>2021-10-08T05:01:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1105573d964f7b78734348466b01f5f6ba8a1813'/>
<id>urn:sha1:1105573d964f7b78734348466b01f5f6ba8a1813</id>
<content type='text'>
commit f2b85040acec9a928b4eb1b57a989324e8e38d3f upstream.

SCSI host release is triggered when SCSI device is freed. We have to make
sure that the low-level device driver module won't be unloaded before SCSI
host instance is released because shost-&gt;hostt is required in the release
handler.

Make sure to put LLD module refcnt after SCSI device is released.

Fixes a kernel panic of 'BUG: unable to handle page fault for address'
reported by Changhui and Yi.

Link: https://lore.kernel.org/r/20211008050118.1440686-1-ming.lei@redhat.com
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Reported-by: Changhui Zhong &lt;czhong@redhat.com&gt;
Reported-by: Yi Zhang &lt;yi.zhang@redhat.com&gt;
Tested-by: Yi Zhang &lt;yi.zhang@redhat.com&gt;
Signed-off-by: Ming Lei &lt;ming.lei@redhat.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>Move code that is used both by initiator and target drivers</title>
<updated>2015-06-01T14:32:43Z</updated>
<author>
<name>Bart Van Assche</name>
</author>
<published>2015-05-08T08:07:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07e3842055c391e611dd907c81760f4c705f9acb'/>
<id>urn:sha1:07e3842055c391e611dd907c81760f4c705f9acb</id>
<content type='text'>
Move the functions that are used by both the initiator and target
subsystems into scsi_common.c/.h. This change will allow to remove
the initiator SCSI header include directives from most SCSI target
source files in a later patch.

Signed-off-by: Bart Van Assche &lt;bart.vanassche@sandisk.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Odin.com&gt;
</content>
</entry>
<entry>
<title>scsi: proper state checking and module refcount handling in scsi_device_get</title>
<updated>2015-03-19T13:43:15Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2015-02-02T13:01:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cff549e4860fcdea6b22510defdc8c8a0f82455a'/>
<id>urn:sha1:cff549e4860fcdea6b22510defdc8c8a0f82455a</id>
<content type='text'>
This effectively reverts commits 85b6c7 ("[SCSI] sd: fix cache flushing on
module removal (and individual device removal)" and dc4515ea ("scsi: always
increment reference count").

We now never call scsi_device_get from the shutdown path, and the fact
that we started grabbing reference there in commit 85b6c7 turned out
turned out to create more problems than it solves, and required
workarounds for workarounds for workarounds. Move back to properly checking
the device state and carefully handle module refcounting.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi</title>
<updated>2015-02-11T18:28:45Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2015-02-11T18:28:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=540a7c5061f10a07748c89b6741af90db1a07252'/>
<id>urn:sha1:540a7c5061f10a07748c89b6741af90db1a07252</id>
<content type='text'>
Pull first round of SCSI updates from James Bottomley:
 "This is the usual grab bag of driver updates (hpsa, storvsc, mp2sas,
  megaraid_sas, ses) plus an assortment of minor updates.

  There's also an update to ufs which adds new phy drivers and finally a
  new logging infrastructure for SCSI"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (114 commits)
  scsi_logging: return void for dev_printk() functions
  scsi: print single-character strings with seq_putc
  scsi: merge consecutive seq_puts calls
  scsi: replace seq_printf with seq_puts
  aha152x: replace seq_printf with seq_puts
  advansys: replace seq_printf with seq_puts
  scsi: remove SPRINTF macro
  sg: remove an unused variable
  hpsa: Use local workqueues instead of system workqueues
  hpsa: add in P840ar controller model name
  hpsa: add in gen9 controller model names
  hpsa: detect and report failures changing controller transport modes
  hpsa: shorten the wait for the CISS doorbell mode change ack
  hpsa: refactor duplicated scan completion code into a new routine
  hpsa: move SG descriptor set-up out of hpsa_scatter_gather()
  hpsa: do not use function pointers in fast path command submission
  hpsa: print CDBs instead of kernel virtual addresses for uncommon errors
  hpsa: do not use a void pointer for scsi_cmd field of struct CommandList
  hpsa: return failed from device reset/abort handlers
  hpsa: check for ctlr lockup after command allocation in main io path
  ...
</content>
</entry>
<entry>
<title>scsi: always increment reference count</title>
<updated>2015-01-23T04:12:16Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2015-01-23T02:52:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc4515ea26d6c7fed3d978cd2bd36adc0d057bc5'/>
<id>urn:sha1:dc4515ea26d6c7fed3d978cd2bd36adc0d057bc5</id>
<content type='text'>
James reported:
&gt; After e513cc1 module: Remove stop_machine from module unloading,
&gt; module_refcount() is returning (unsigned long)-1 when called from within
&gt; a routine that runs in module_exit.  This is confusing the scsi device
&gt; put code which is coded to detect a module_refcount() of zero for
&gt; running within a module exit routine and not try to do another
&gt; module_put.  The fix is to restore the original behaviour of
&gt; module_refcount() and return zero if we're running inside an exit
&gt; routine.

The correct fix is to turn try_module_get() into __module_get(), and
always do the module_put().

Acked-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>scsi: Do not display buffer pointers in scsi_log_send()</title>
<updated>2015-01-09T14:44:32Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2015-01-08T06:43:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a4a6afb477a9e724a6ff7204e4199f0c2cd97d6a'/>
<id>urn:sha1:a4a6afb477a9e724a6ff7204e4199f0c2cd97d6a</id>
<content type='text'>
scsi_log_send() would display buffer pointer for higher logging levels.
This is not only of questionable value but also exposes kernel pointer to
userspace, which is discouraged in some setups. So drop this message
altogether.

Tested-by: Robert Elliott &lt;elliott@hp.com&gt;
Reviewed-by: Robert Elliott &lt;elliott@hp.com&gt;
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>scsi: use per-cpu buffer for formatting scsi_print_result()</title>
<updated>2015-01-09T14:44:31Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2015-01-08T06:43:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=026f8da8da4ce3423bf89e8e9091f55ae3863eda'/>
<id>urn:sha1:026f8da8da4ce3423bf89e8e9091f55ae3863eda</id>
<content type='text'>
Convert scsi_print_result() to use the per-cpu buffer for decoding the
command result and disposition.

Tested-by: Robert Elliott &lt;elliott@hp.com&gt;
Reviewed-by: Robert Elliott &lt;elliott@hp.com&gt;
Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus</title>
<updated>2014-12-18T13:56:29Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2014-12-18T13:56:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e61745769125a3c788e7aceb2a5fb680ebb461e6'/>
<id>urn:sha1:e61745769125a3c788e7aceb2a5fb680ebb461e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus</title>
<updated>2014-12-08T15:42:25Z</updated>
<author>
<name>James Bottomley</name>
</author>
<published>2014-12-08T15:42:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=096cbc35eaecf5865a3274f21eae26955b32861b'/>
<id>urn:sha1:096cbc35eaecf5865a3274f21eae26955b32861b</id>
<content type='text'>
Conflicts:
	drivers/scsi/scsi_debug.c

Agreed and tested resolution to a merge problem between a fix in scsi_debug
and a driver update

Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
</feed>
