Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 302555
b: refs/heads/master
c: 23ec2aa
h: refs/heads/master
i:
  302553: 731dae2
  302551: 55af09c
v: v3
  • Loading branch information
Jeff Skirvin authored and Dan Williams committed May 17, 2012
1 parent e94cecf commit 769ab7e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5b6bf225e7fc249c703e19bf2c983d1a59178874
refs/heads/master: 23ec2aa947e83d0a172220f361166b8224875221
25 changes: 12 additions & 13 deletions trunk/drivers/scsi/isci/remote_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,14 @@ const char *dev_state_name(enum sci_remote_device_states state)
}
#undef C

static enum sci_status sci_remote_device_suspend(struct isci_remote_device *idev)
{
return sci_remote_node_context_suspend(&idev->rnc,
SCI_SOFTWARE_SUSPENSION,
SCI_SOFTWARE_SUSPEND_EXPECTED_EVENT,
NULL, NULL);
}

/**
* isci_remote_device_not_ready() - This function is called by the ihost when
* the remote device is not ready. We mark the isci device as ready (not
Expand All @@ -96,16 +104,17 @@ static void isci_remote_device_not_ready(struct isci_host *ihost,
case SCIC_REMOTE_DEVICE_NOT_READY_SATA_SDB_ERROR_FIS_RECEIVED:
set_bit(IDEV_IO_NCQERROR, &idev->flags);

/* Suspend the remote device so the I/O can be terminated. */
sci_remote_device_suspend(idev);

/* Kill all outstanding requests for the device. */
list_for_each_entry(ireq, &idev->reqs_in_process, dev_node) {

dev_dbg(&ihost->pdev->dev,
"%s: isci_device = %p request = %p\n",
__func__, idev, ireq);

sci_controller_terminate_request(ihost,
idev,
ireq);
sci_controller_terminate_request(ihost, idev, ireq);
}
/* Fall through into the default case... */
default:
Expand Down Expand Up @@ -133,16 +142,6 @@ static void isci_remote_device_ready(struct isci_host *ihost, struct isci_remote
wake_up(&ihost->eventq);
}

static enum sci_status sci_remote_device_suspend(
struct isci_remote_device *idev)
{
return sci_remote_node_context_suspend(
&idev->rnc,
SCI_SOFTWARE_SUSPENSION,
SCI_SOFTWARE_SUSPEND_EXPECTED_EVENT,
NULL, NULL);
}

static int isci_remote_device_suspendcheck(struct isci_remote_device *idev)
{
return test_bit(IDEV_TXRX_SUSPENDED, &idev->flags)
Expand Down

0 comments on commit 769ab7e

Please sign in to comment.