[SCSI] libsas: unify domain_device sas_rphy lifetimes
Since the domain_device can out live the scsi_target we need the rphy to
follow suit otherwise we run into issues like:
BUG: unable to handle kernel NULL pointer dereference at
0000000000000050
IP: [<
ffffffffa011561b>] sas_ata_printk+0x43/0x6f [libsas]
PGD 0
Oops: 0000 [#1] SMP
CPU 1
Modules linked in: ses enclosure isci libsas scsi_transport_sas fuse sunrpc cpufreq_ondemand acpi_cpufreq freq_table mperf microcode pcspkr igb joydev iTCO_wdt ioatdma iTCO_vendor_support i2c_i801 i2c_core dca wmi hed ipv6 pata_acpi ata_generic [last unloaded: scsi_wait_scan]
Pid: 129, comm: kworker/u:3 Not tainted 3.3.0-rc5-isci+ #1 Intel Corporation SandyBridge Platform/To be filled by O.E.M.
RIP: 0010:[<
ffffffffa011561b>] [<
ffffffffa011561b>] sas_ata_printk+0x43/0x6f [libsas]
RSP: 0018:
ffff88042232dd70 EFLAGS:
00010282
RAX:
0000000000000000 RBX:
ffff8804283165b8 RCX:
ffff88042232dda0
RDX:
ffff88042232dd78 RSI:
ffff8804283165b8 RDI:
ffffffffa01188d7
RBP:
ffff88042232ddd0 R08:
ffff880388454000 R09:
ffff8803edfde1f8
R10:
ffff8803edfde1f8 R11:
ffff8803edfde1f8 R12:
ffff880428316750
R13:
ffff880388454000 R14:
ffff8803f88b31d0 R15:
ffff8803f8b21d50
FS:
0000000000000000(0000) GS:
ffff88042ee20000(0000) knlGS:
0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
CR2:
0000000000000050 CR3:
0000000001a05000 CR4:
00000000000406e0
DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
Process kworker/u:3 (pid: 129, threadinfo
ffff88042232c000, task
ffff88042230c920)
Stack:
0000000000000000 ffff880400000018 ffff88042232dde0 ffff88042232dda0
ffffffffa01188c4 ffff88042ee93af0 ffff88042232ddb0 ffffffff8100e047
ffff88042232de10 ffff880420e5a2c8 ffff8803f8b21d50 ffff8803edfde1f8
Call Trace:
[<
ffffffff8100e047>] ? load_TLS+0xb/0xf
[<
ffffffffa01156ad>] async_sas_ata_eh+0x66/0x95 [libsas]
[<
ffffffff810655e1>] async_run_entry_fn+0x9e/0x131
Reported-by: Tom Jackson <thomas.p.jackson@intel.com>
Tested-by: Tom Jackson <thomas.p.jackson@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>