linux/include/scsi
Dan Williams b202445925 [SCSI] libsas, libata: fix start of life for a sas ata_port
This changes the ordering of initialization and probing events from:
  1/ allocate rphy in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN
  2/ allocate ata_port and schedule port probe in DISCE_PROBE
...to:
  1/ allocate ata_port in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN
  2/ allocate rphy in PORTE_BYTES_DMAED, DISCE_REVALIDATE_DOMAIN
  3/ schedule port probe in DISCE_PROBE

This ordering prevents PHYE_SIGNAL_LOSS_EVENTS from sneaking in to
destrory ata devices before they have been fully initialized:

  BUG: unable to handle kernel paging request at 0000000000003b10
  IP: [<ffffffffa0053d7e>] sas_ata_end_eh+0x12/0x5e [libsas]
  ...
  [<ffffffffa004d1af>] sas_unregister_common_dev+0x78/0xc9 [libsas]
  [<ffffffffa004d4d4>] sas_unregister_dev+0x4f/0xad [libsas]
  [<ffffffffa004d5b1>] sas_unregister_domain_devices+0x7f/0xbf [libsas]
  [<ffffffffa004c487>] sas_deform_port+0x61/0x1b8 [libsas]
  [<ffffffffa004bed0>] sas_phye_loss_of_signal+0x29/0x2b [libsas]

...and kills the awkward "sata domain_device briefly existing in the
domain without an ata_port" state.

Reported-by: Michal Kosciowski <michal.kosciowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-04-23 12:11:47 +01:00
..
fc SCSI updates on 20120319 2012-03-22 12:55:29 -07:00
fc_encode.h
fc_frame.h
iscsi_if.h [SCSI] qla4xxx: Removed packed attr from struct iscsi_chap_rec 2012-03-27 08:26:35 +01:00
iscsi_proto.h
Kbuild
libfc.h
libfcoe.h [SCSI] libfcoe: Support extra MAC descriptor to be used as FCoE MAC 2012-03-28 09:05:37 +01:00
libiscsi_tcp.h
libiscsi.h
libsas.h [SCSI] libsas: introduce sas_work to fix sas_drain_work vs sas_queue_work 2012-04-23 12:03:39 +01:00
libsrp.h
osd_attributes.h
osd_initiator.h
osd_ore.h
osd_protocol.h
osd_sec.h
osd_sense.h
osd_types.h
sas_ata.h [SCSI] libsas, libata: fix start of life for a sas ata_port 2012-04-23 12:11:47 +01:00
sas.h
scsi_bsg_fc.h
scsi_bsg_iscsi.h
scsi_cmnd.h SCSI: Fix error handling when no ULD is attached 2012-04-15 11:08:53 -07:00
scsi_dbg.h
scsi_device.h The following text was taken from the original review request: 2012-03-24 10:41:37 -07:00
scsi_devinfo.h
scsi_dh.h
scsi_driver.h
scsi_eh.h
scsi_host.h
scsi_ioctl.h
scsi_netlink_fc.h
scsi_netlink.h headers: include linux/types.h where appropriate 2012-03-23 16:58:31 -07:00
scsi_scan.h
scsi_tcq.h
scsi_tgt_if.h
scsi_tgt.h
scsi_transport_fc.h
scsi_transport_iscsi.h
scsi_transport_sas.h
scsi_transport_spi.h
scsi_transport_srp.h
scsi_transport.h
scsi.h
scsicam.h
sg.h
srp.h