<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/scsi/libfc, branch v3.12.10</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/scsi/libfc?h=v3.12.10</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/scsi/libfc?h=v3.12.10'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-07-13T04:22:56Z</updated>
<entry>
<title>Merge tag 'fcoe' into for-linus</title>
<updated>2013-07-13T04:22:56Z</updated>
<author>
<name>James Bottomley</name>
<email>JBottomley@Parallels.com</email>
</author>
<published>2013-07-13T04:22:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=622f9a8e7b8043a5ea2c7d047d65ecad01fe0f97'/>
<id>urn:sha1:622f9a8e7b8043a5ea2c7d047d65ecad01fe0f97</id>
<content type='text'>
A short series of fixes to libfc, libfcoe and fcoe.
Most patches fix formatting problems, one changes
the behavior of which discovered ports can/will be
logged into and another fixes a memory leak.
</content>
</entry>
<entry>
<title>libfc: Differentiate echange timer cancellation debug statements</title>
<updated>2013-07-09T18:18:41Z</updated>
<author>
<name>Robert Love</name>
<email>robert.w.love@intel.com</email>
</author>
<published>2013-06-11T07:28:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3a2926054acf876313afaaddac00a8ad255f6d68'/>
<id>urn:sha1:3a2926054acf876313afaaddac00a8ad255f6d68</id>
<content type='text'>
There are two debug statements with the same output string regarding
echange timer cancellation. This patch simply changes the output of
one string so that they can be differentiated.

Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
Tested-by: Jack Morgan &lt;jack.morgan@intel.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>libfc: Remove extra space in fc_exch_timer_cancel definition</title>
<updated>2013-07-09T18:18:33Z</updated>
<author>
<name>Robert Love</name>
<email>robert.w.love@intel.com</email>
</author>
<published>2013-06-11T07:28:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4a80f083dd70a200763e77d3eeee48bdf753c7df'/>
<id>urn:sha1:4a80f083dd70a200763e77d3eeee48bdf753c7df</id>
<content type='text'>
Simply remove an extra space that violates coding style.

Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
Tested-by: Jack Morgan &lt;jack.morgan@intel.com&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>libfc: Reject PLOGI from nodes with incompatible role</title>
<updated>2013-07-09T16:29:14Z</updated>
<author>
<name>Mark Rustad</name>
<email>mark.d.rustad@intel.com</email>
</author>
<published>2013-05-18T04:01:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e0335f67a281cb8eb11868e614ee9390fbbe9b1d'/>
<id>urn:sha1:e0335f67a281cb8eb11868e614ee9390fbbe9b1d</id>
<content type='text'>
Reject a PLOGI from a node with an incompatible role,
that is, initiator-to-initiator or target-to-target.

Signed-off-by: Mark Rustad &lt;mark.d.rustad@intel.com&gt;
Reviewed-by: Yi Zou &lt;yi.zou@intel.com&gt;
Tested-by: Jack Morgan &lt;jack.morgan@intel.com&gt;
Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial</title>
<updated>2013-07-04T18:40:58Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-04T18:40:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=80cc38b16389849a6e06441ace4530f6b2497c3c'/>
<id>urn:sha1:80cc38b16389849a6e06441ace4530f6b2497c3c</id>
<content type='text'>
Pull trivial tree updates from Jiri Kosina:
 "The usual stuff from trivial tree"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits)
  treewide: relase -&gt; release
  Documentation/cgroups/memory.txt: fix stat file documentation
  sysctl/net.txt: delete reference to obsolete 2.4.x kernel
  spinlock_api_smp.h: fix preprocessor comments
  treewide: Fix typo in printk
  doc: device tree: clarify stuff in usage-model.txt.
  open firmware: "/aliasas" -&gt; "/aliases"
  md: bcache: Fixed a typo with the word 'arithmetic'
  irq/generic-chip: fix a few kernel-doc entries
  frv: Convert use of typedef ctl_table to struct ctl_table
  sgi: xpc: Convert use of typedef ctl_table to struct ctl_table
  doc: clk: Fix incorrect wording
  Documentation/arm/IXP4xx fix a typo
  Documentation/networking/ieee802154 fix a typo
  Documentation/DocBook/media/v4l fix a typo
  Documentation/video4linux/si476x.txt fix a typo
  Documentation/virtual/kvm/api.txt fix a typo
  Documentation/early-userspace/README fix a typo
  Documentation/video4linux/soc-camera.txt fix a typo
  lguest: fix CONFIG_PAE -&gt; CONFIG_x86_PAE in comment
  ...
</content>
</entry>
<entry>
<title>treewide: relase -&gt; release</title>
<updated>2013-06-28T12:34:33Z</updated>
<author>
<name>Geert Uytterhoeven</name>
<email>geert@linux-m68k.org</email>
</author>
<published>2013-06-28T09:27:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=83a35e360433b58791bc9c4e288cace466d62e3a'/>
<id>urn:sha1:83a35e360433b58791bc9c4e288cace466d62e3a</id>
<content type='text'>
Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>libfc: extend ex_lock to protect all of fc_seq_send</title>
<updated>2013-05-10T17:19:23Z</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2013-05-03T19:34:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fb00cc2353ca22b3278f72d73e65a33486d1dbc7'/>
<id>urn:sha1:fb00cc2353ca22b3278f72d73e65a33486d1dbc7</id>
<content type='text'>
This warning was reported recently:

WARNING: at drivers/scsi/libfc/fc_exch.c:478 fc_seq_send+0x14f/0x160 [libfc]()
(Not tainted)
Hardware name: ProLiant DL120 G7
Modules linked in: tcm_fc target_core_iblock target_core_file target_core_pscsi
target_core_mod configfs dm_round_robin dm_multipath 8021q garp stp llc bnx2fc
cnic uio fcoe libfcoe libfc scsi_transport_fc scsi_tgt autofs4 sunrpc
pcc_cpufreq ipv6 hpilo hpwdt e1000e microcode iTCO_wdt iTCO_vendor_support
serio_raw shpchp ixgbe dca mdio sg ext4 mbcache jbd2 sd_mod crc_t10dif pata_acpi
ata_generic ata_piix hpsa dm_mirror dm_region_hash dm_log dm_mod [last unloaded:
scsi_wait_scan]
Pid: 5464, comm: target_completi Not tainted 2.6.32-272.el6.x86_64 #1
Call Trace:
 [&lt;ffffffff8106b747&gt;] ? warn_slowpath_common+0x87/0xc0
 [&lt;ffffffff8106b79a&gt;] ? warn_slowpath_null+0x1a/0x20
 [&lt;ffffffffa025f7df&gt;] ? fc_seq_send+0x14f/0x160 [libfc]
 [&lt;ffffffffa035cbce&gt;] ? ft_queue_status+0x16e/0x210 [tcm_fc]
 [&lt;ffffffffa030a660&gt;] ? target_complete_ok_work+0x0/0x4b0 [target_core_mod]
 [&lt;ffffffffa030a766&gt;] ? target_complete_ok_work+0x106/0x4b0 [target_core_mod]
 [&lt;ffffffffa030a660&gt;] ? target_complete_ok_work+0x0/0x4b0 [target_core_mod]
 [&lt;ffffffff8108c760&gt;] ? worker_thread+0x170/0x2a0
 [&lt;ffffffff810920d0&gt;] ? autoremove_wake_function+0x0/0x40
 [&lt;ffffffff8108c5f0&gt;] ? worker_thread+0x0/0x2a0
 [&lt;ffffffff81091d66&gt;] ? kthread+0x96/0xa0
 [&lt;ffffffff8100c14a&gt;] ? child_rip+0xa/0x20
 [&lt;ffffffff81091cd0&gt;] ? kthread+0x0/0xa0
 [&lt;ffffffff8100c140&gt;] ? child_rip+0x0/0x20

It occurs because fc_seq_send can have multiple contexts executing within it at
the same time, and fc_seq_send doesn't consistently use the ep-&gt;ex_lock that
protects this structure.  Because of that, its possible for one context to clear
the INIT bit in the ep-&gt;esb_state field while another checks it, leading to the
above stack trace generated by the WARN_ON in the function.

We should probably undertake the effort to convert access to the fc_exch
structures to use rcu, but that a larger work item.  To just fix this specific
issue, we can just extend the ex_lock protection through the entire fc_seq_send
path

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Gris Ge &lt;fge@redhat.com&gt;
CC: Robert Love &lt;robert.w.love@intel.com&gt;
Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
</content>
</entry>
<entry>
<title>libfc: Correct check for initiator role</title>
<updated>2013-05-10T17:19:22Z</updated>
<author>
<name>Mark Rustad</name>
<email>mark.d.rustad@intel.com</email>
</author>
<published>2013-03-20T07:17:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=732bdb9d141879b1b5b357f934553fe827c1f46b'/>
<id>urn:sha1:732bdb9d141879b1b5b357f934553fe827c1f46b</id>
<content type='text'>
The service_params field is being checked against the symbol
FC_RPORT_ROLE_FCP_INITIATOR where it really should be checked
against FCP_SPPF_INIT_FCN.

Signed-off-by: Mark Rustad &lt;mark.d.rustad@intel.com&gt;
Tested-by: Jack Morgan &lt;jack.morgan@intel.com&gt;
Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
</content>
</entry>
<entry>
<title>libfc, fcoe, bnx2fc: Split fc_disc_init into fc_disc_{init, config}</title>
<updated>2013-03-25T23:03:03Z</updated>
<author>
<name>Robert Love</name>
<email>robert.w.love@intel.com</email>
</author>
<published>2013-03-25T18:00:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0807619d3c64d935c257a377ac86982c777f969c'/>
<id>urn:sha1:0807619d3c64d935c257a377ac86982c777f969c</id>
<content type='text'>
Split discovery initialization in code that is setup once (fcoe_disc_init)
and code that can be re-configured (fcoe_disc_config).

Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
Tested-by: Jack Morgan &lt;jack.morgan@intel.com&gt;
Reviewed-by: Bhanu Prakash Gollapudi &lt;bprakash@broadcom.com&gt;
</content>
</entry>
<entry>
<title>libfc, fcoe, bnx2fc: Always use fcoe_disc_init for discovery layer initialization</title>
<updated>2013-03-25T23:01:10Z</updated>
<author>
<name>Robert Love</name>
<email>robert.w.love@intel.com</email>
</author>
<published>2013-03-25T18:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8a9a71381208b2364a2d12b0d257ae333917a1bc'/>
<id>urn:sha1:8a9a71381208b2364a2d12b0d257ae333917a1bc</id>
<content type='text'>
Currently libfcoe is doing some libfc discovery layer initialization outside of
libfc. This patch moves this code into libfc and sets up a split in discovery
(one time) initialization code and (re-configurable) settings that will come in
the next patch.

Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
Tested-by: Jack Morgan &lt;jack.morgan@intel.com&gt;
Reviewed-by: Bhanu Prakash Gollapudi &lt;bprakash@broadcom.com&gt;
</content>
</entry>
</feed>
