diff options
| author | Dexuan Cui <[email protected]> | 2016-08-23 04:49:22 +0000 |
|---|---|---|
| committer | Bjorn Helgaas <[email protected]> | 2016-09-06 12:23:30 -0500 |
| commit | a5b45b7b952822aa5fbe842d2ee497c7c9dd7f55 (patch) | |
| tree | 69235d2da14b4f654b522f25428f027a05cfe81e | |
| parent | 665e2245eb46a217926d45031b83f1212a1bb344 (diff) | |
PCI: hv: Handle hv_pci_generic_compl() error case
'completion_status' is used in some places, e.g.,
hv_pci_protocol_negotiation(), so we should make sure it's initialized in
error case too, though the error is unlikely here.
[bhelgaas: fix changelog typo and nearby whitespace]
Signed-off-by: Dexuan Cui <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
Acked-by: KY Srinivasan <[email protected]>
CC: Jake Oshins <[email protected]>
CC: Haiyang Zhang <[email protected]>
CC: Vitaly Kuznetsov <[email protected]>
| -rw-r--r-- | drivers/pci/host/pci-hyperv.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/pci/host/pci-hyperv.c b/drivers/pci/host/pci-hyperv.c index e9307afa003d..763ff8745828 100644 --- a/drivers/pci/host/pci-hyperv.c +++ b/drivers/pci/host/pci-hyperv.c @@ -447,15 +447,16 @@ struct hv_pci_compl { * for any message for which the completion packet contains a * status and nothing else. */ -static -void -hv_pci_generic_compl(void *context, struct pci_response *resp, - int resp_packet_size) +static void hv_pci_generic_compl(void *context, struct pci_response *resp, + int resp_packet_size) { struct hv_pci_compl *comp_pkt = context; if (resp_packet_size >= offsetofend(struct pci_response, status)) comp_pkt->completion_status = resp->status; + else + comp_pkt->completion_status = -1; + complete(&comp_pkt->host_event); } |