<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/mvsas, branch linux-3.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-01-03T23:57:01Z</updated>
<entry>
<title>Drivers: scsi: remove __dev* attributes.</title>
<updated>2013-01-03T23:57:01Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2012-12-21T21:08:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f039790510fd630ff348efe8c4802dbaa041fba'/>
<id>urn:sha1:6f039790510fd630ff348efe8c4802dbaa041fba</id>
<content type='text'>
CONFIG_HOTPLUG is going away as an option.  As a result, the __dev*
markings need to be removed.

This change removes the use of __devinit, __devexit_p, __devinitdata,
__devinitconst, and __devexit from these drivers.

Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.

Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Adam Radford &lt;linuxraid@lsi.com&gt;
Cc: "James E.J. Bottomley" &lt;JBottomley@parallels.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: fix undefined bit shift</title>
<updated>2012-11-30T09:20:17Z</updated>
<author>
<name>Xi Wang</name>
</author>
<published>2012-11-16T19:40:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=beecadea1b8d67f591b13f7099559f32f3fd601d'/>
<id>urn:sha1:beecadea1b8d67f591b13f7099559f32f3fd601d</id>
<content type='text'>
The macro bit(n) is defined as ((u32)1 &lt;&lt; n), and thus it doesn't work
with n &gt;= 32, such as in mvs_94xx_assign_reg_set():

	if (i &gt;= 32) {
		mvi-&gt;sata_reg_set |= bit(i);
		...
	}

The shift ((u32)1 &lt;&lt; n) with n &gt;= 32 also leads to undefined behavior.
The result varies depending on the architecture.

This patch changes bit(n) to do a 64-bit shift.  It also simplifies
mv_ffc64() using __ffs64(), since invoking ffz() with ~0 is undefined.

Signed-off-by: Xi Wang &lt;xi.wang@gmail.com&gt;
Acked-by: Xiangliang Yu &lt;yuxiangl@marvell.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: Fix oops when ata commond timeout.</title>
<updated>2012-09-14T13:48:32Z</updated>
<author>
<name>Jianpeng Ma</name>
</author>
<published>2012-08-04T02:34:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95ab000388974d8ffef8257306b4be6e8778b768'/>
<id>urn:sha1:95ab000388974d8ffef8257306b4be6e8778b768</id>
<content type='text'>
Kernel message follows:

[  511.712011] sd 11:0:0:0: [sdf] command ffff8800a4e81400 timed out
[  511.712022] sas: Enter sas_scsi_recover_host busy: 1 failed: 1
[  511.712024] sas: trying to find task 0xffff8800a4d24c80
[  511.712026] sas: sas_scsi_find_task: aborting task 0xffff8800a4d24c80
[  511.712029] drivers/scsi/mvsas/mv_sas.c 1631:mvs_abort_task()
mvi=ffff8800b5300000 task=ffff8800a4d24c80 slot=ffff8800b5325038
slot_idx=x0
[  511.712035] BUG: unable to handle kernel NULL pointer dereference at
0000000000000058
[  511.712040] IP: [&lt;ffffffff815f8c0c&gt;] _raw_spin_lock_irqsave+0xc/0x30
[  511.712047] PGD 0
[  511.712049] Oops: 0002 [#1] SMP
[  511.712052] Modules linked in: mvsas libsas scsi_transport_sas
raid456 async_pq async_xor xor async_memcpy async_raid6_recov raid6_pq
async_tx [last unloaded: mvsas]
[  511.712062] CPU 3
[  511.712066] Pid: 7322, comm: scsi_eh_11 Not tainted 3.5.0+ #106 To Be
Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M.
[  511.712068] RIP: 0010:[&lt;ffffffff815f8c0c&gt;]  [&lt;ffffffff815f8c0c&gt;]
_raw_spin_lock_irqsave+0xc/0x30
[  511.712073] RSP: 0018:ffff880098d3bcb0  EFLAGS: 00010086
[  511.712074] RAX: 0000000000000286 RBX: 0000000000000058 RCX:
00000000000000c3
[  511.712076] RDX: 0000000000000100 RSI: 0000000000000046 RDI:
0000000000000058
[  511.712078] RBP: ffff880098d3bcb0 R08: 000000000000000a R09:
0000000000000000
[  511.712080] R10: 00000000000004e8 R11: 00000000000004e7 R12:
ffff8800a4d24c80
[  511.712082] R13: 0000000000000050 R14: ffff8800b5325038 R15:
ffff8800a4eafe00
[  511.712084] FS:  0000000000000000(0000) GS:ffff8800bdb80000(0000)
knlGS:0000000000000000
[  511.712086] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[  511.712088] CR2: 0000000000000058 CR3: 00000000a4ce6000 CR4:
00000000000407e0
[  511.712090] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[  511.712091] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
0000000000000400
[  511.712093] Process scsi_eh_11 (pid: 7322, threadinfo
ffff880098d3a000, task ffff8800a61dde40)
[  511.712095] Stack:
[  511.712096]  ffff880098d3bce0 ffffffff81060683 ffff880000000000
0000000000000000
[  511.712099]  ffff8800a4d24c80 ffff8800b5300000 ffff880098d3bcf0
ffffffffa0076a88
[  511.712102]  ffff880098d3bd50 ffffffffa0079bb5 ffff880000000000
ffff880000000018
[  511.712106] Call Trace:
[  511.712110]  [&lt;ffffffff81060683&gt;] complete+0x23/0x60
[  511.712115]  [&lt;ffffffffa0076a88&gt;] mvs_tmf_timedout+0x18/0x20 [mvsas]
[  511.712119]  [&lt;ffffffffa0079bb5&gt;] mvs_slot_complete+0x765/0x7d0
[mvsas]
[  511.712125]  [&lt;ffffffffa005a17d&gt;] sas_scsi_recover_host+0x55d/0xdb0
[libsas]
[  511.712128]  [&lt;ffffffff8106d600&gt;] ? idle_balance+0xe0/0x130
[  511.712133]  [&lt;ffffffff813b150c&gt;] scsi_error_handler+0xcc/0x470
[  511.712136]  [&lt;ffffffff815f7ad0&gt;] ? __schedule+0x370/0x730
[  511.712139]  [&lt;ffffffff8105f728&gt;] ? __wake_up_common+0x58/0x90
[  511.712142]  [&lt;ffffffff813b1440&gt;] ? scsi_eh_get_sense+0x110/0x110
[  511.712146]  [&lt;ffffffff810571be&gt;] kthread+0x8e/0xa0
[  511.712150]  [&lt;ffffffff816015f4&gt;] kernel_thread_helper+0x4/0x10
[  511.712153]  [&lt;ffffffff81057130&gt;] ? flush_kthread_work+0x120/0x120
[  511.712156]  [&lt;ffffffff816015f0&gt;] ? gs_change+0xb/0xb
[  511.712157] Code: 8a 00 01 00 00 89 d0 f0 66 0f b1 0f 66 39 d0 0f 94
c0 0f b6 c0 5d c3 0f 1f 84 00 00 00 00 00 55 48 89 e5 9c 58 fa ba 00 01
00 00 &lt;f0&gt; 66 0f c1 17 0f b6 ce 38 d1 74 11 0f 1f 84 00 00 00 00 00 f3
[  511.712191] RIP  [&lt;ffffffff815f8c0c&gt;] _raw_spin_lock_irqsave+0xc/0x30
[  511.712194]  RSP &lt;ffff880098d3bcb0&gt;
[  511.712196] CR2: 0000000000000058
[  511.712198] ---[ end trace a781c7b1e65db92c ]---

Signed-off-by: Jianpeng Ma &lt;majianpeng@gmail.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] mvsas: remove unused variable in mvs_task_exec()</title>
<updated>2012-07-20T07:58:54Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2012-06-22T06:36:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cca85013ef54f66eb4616e6f3860549a96c8338b'/>
<id>urn:sha1:cca85013ef54f66eb4616e6f3860549a96c8338b</id>
<content type='text'>
We don't use "dev" any more after 07ec747a5f ("libsas: remove
ata_port.lock management duties from lldds") and it causes a compile
warning.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Cc: Xiangliang Yu &lt;yuxiangl@marvell.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libsas: trim sas_task of slow path infrastructure</title>
<updated>2012-07-20T07:58:54Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2012-06-22T06:36:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f0bf750c2d25c3a2131ececbff63c7878e0e3765'/>
<id>urn:sha1:f0bf750c2d25c3a2131ececbff63c7878e0e3765</id>
<content type='text'>
The timer and the completion are only used for slow path tasks (smp, and
lldd tmfs), yet we incur the allocation space and cpu setup time for
every fast path task.

Cc: Xiangliang Yu &lt;yuxiangl@marvell.com&gt;
Acked-by: Jack Wang &lt;jack_wang@usish.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&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-misc-2.6</title>
<updated>2012-03-22T19:55:29Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-03-22T19:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=424a6f6ef990b7e9f56f6627bfc6c46b493faeb4'/>
<id>urn:sha1:424a6f6ef990b7e9f56f6627bfc6c46b493faeb4</id>
<content type='text'>
SCSI updates from James Bottomley:
 "The update includes the usual assortment of driver updates (lpfc,
  qla2xxx, qla4xxx, bfa, bnx2fc, bnx2i, isci, fcoe, hpsa) plus a huge
  amount of infrastructure work in the SAS library and transport class
  as well as an iSCSI update.  There's also a new SCSI based virtio
  driver."

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (177 commits)
  [SCSI] qla4xxx: Update driver version to 5.02.00-k15
  [SCSI] qla4xxx: trivial cleanup
  [SCSI] qla4xxx: Fix sparse warning
  [SCSI] qla4xxx: Add support for multiple session per host.
  [SCSI] qla4xxx: Export CHAP index as sysfs attribute
  [SCSI] scsi_transport: Export CHAP index as sysfs attribute
  [SCSI] qla4xxx: Add support to display CHAP list and delete CHAP entry
  [SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry
  [SCSI] pm8001: fix endian issue with code optimization.
  [SCSI] pm8001: Fix possible racing condition.
  [SCSI] pm8001: Fix bogus interrupt state flag issue.
  [SCSI] ipr: update PCI ID definitions for new adapters
  [SCSI] qla2xxx: handle default case in qla2x00_request_firmware()
  [SCSI] isci: improvements in driver unloading routine
  [SCSI] isci: improve phy event warnings
  [SCSI] isci: debug, provide state-enum-to-string conversions
  [SCSI] scsi_transport_sas: 'enable' phys on reset
  [SCSI] libsas: don't recover end devices attached to disabled phys
  [SCSI] libsas: fixup target_port_protocols for expanders that don't report sata
  [SCSI] libsas: set attached device type and target protocols for local phys
  ...
</content>
</entry>
<entry>
<title>scsi: remove the second argument of k[un]map_atomic()</title>
<updated>2012-03-20T13:48:19Z</updated>
<author>
<name>Cong Wang</name>
</author>
<published>2011-11-25T15:14:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77dfce076cbd76c04e90abff188d058cdbff78dd'/>
<id>urn:sha1:77dfce076cbd76c04e90abff188d058cdbff78dd</id>
<content type='text'>
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libsas: async ata scanning</title>
<updated>2012-02-29T21:35:41Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2012-01-19T04:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9508a66f898d46e726a318469312b45e0b1d078b'/>
<id>urn:sha1:9508a66f898d46e726a318469312b45e0b1d078b</id>
<content type='text'>
libsas ata error handling is already async but this does not help the
scan case.  Move initial link recovery out from under host-&gt;scan_mutex,
and delay synchronization with eh until after all port probe/recovery
work has been queued.

Device ordering is maintained with scan order by still calling
sas_rphy_add() in order of domain discovery.

Since we now scan the domain list when invoking libata-eh we need to be
careful to check for fully initialized ata ports.

Acked-by: Jack Wang &lt;jack_wang@usish.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libsas: fix sas_find_local_phy(), take phy references</title>
<updated>2012-02-29T19:01:06Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2011-12-22T05:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd'/>
<id>urn:sha1:f41a0c441c3fe43e79ebeb75584dbb5bfa83e5cd</id>
<content type='text'>
In the direct-attached case this routine returns the phy on which this
device was first discovered.  Which is broken if we want to support
wide-targets, as this phy reference can become stale even though the
port is still active.

In the expander-attached case this routine tries to lookup the phy by
scanning the attached sas addresses of the parent expander, and BUG_ONs
if it can't find it.  However since eh and the libsas workqueue run
independently we can still be attempting device recovery via eh after
libsas has recorded the device as detached.  This is even easier to hit
now that eh is blocked while device domain rediscovery takes place, and
that libata is fed more timed out commands increasing the chances that
it will try to recover the ata device.

Arrange for dev-&gt;phy to always point to a last known good phy, it may be
stale after the port is torn down, but it will catch up for wide port
reconfigurations, and never be NULL.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] libsas: remove ata_port.lock management duties from lldds</title>
<updated>2012-02-19T19:50:12Z</updated>
<author>
<name>Dan Williams</name>
</author>
<published>2011-11-18T01:59:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=312d3e56119a4bc5c36a96818f87f650c069ddc2'/>
<id>urn:sha1:312d3e56119a4bc5c36a96818f87f650c069ddc2</id>
<content type='text'>
Each libsas driver (mvsas, pm8001, and isci) has invented a different
method for managing the ap-&gt;lock.  The lock is held by the ata
-&gt;queuecommand() path.  mvsas drops it prior to acquiring any internal
locks which allows it to hold its internal lock across calls to
task-&gt;task_done().  This capability is important as it is the only way
the driver can flush task-&gt;task_done() instances to guarantee that it no
longer has any in-flight references to a domain_device at
-&gt;lldd_dev_gone() time.

Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
</feed>
