aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/pci-label.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/pci/pci-label.c b/drivers/pci/pci-label.c
index d51f45aa669e..f6e01a500d79 100644
--- a/drivers/pci/pci-label.c
+++ b/drivers/pci/pci-label.c
@@ -233,11 +233,7 @@ dsm_get_label(acpi_handle handle, int func,
233 return -1; 233 return -1;
234 234
235 obj = (union acpi_object *)output->pointer; 235 obj = (union acpi_object *)output->pointer;
236 236 if (obj->type == ACPI_TYPE_PACKAGE && obj->package.count == 2) {
237 switch (obj->type) {
238 case ACPI_TYPE_PACKAGE:
239 if (obj->package.count != 2)
240 break;
241 len = obj->package.elements[0].integer.value; 237 len = obj->package.elements[0].integer.value;
242 if (buf) { 238 if (buf) {
243 if (attribute == ACPI_ATTR_INDEX_SHOW) 239 if (attribute == ACPI_ATTR_INDEX_SHOW)
@@ -250,10 +246,10 @@ dsm_get_label(acpi_handle handle, int func,
250 } 246 }
251 kfree(output->pointer); 247 kfree(output->pointer);
252 return len; 248 return len;
253 break;
254 default:
255 kfree(output->pointer);
256 } 249 }
250
251 kfree(output->pointer);
252
257 return -1; 253 return -1;
258} 254}
259 255