diff options
| -rw-r--r-- | drivers/acpi/nfit/core.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index 5970b8f5f768..14d9f5bea015 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c | |||
| @@ -3341,8 +3341,6 @@ static int acpi_nfit_clear_to_send(struct nvdimm_bus_descriptor *nd_desc, | |||
| 3341 | struct nvdimm *nvdimm, unsigned int cmd) | 3341 | struct nvdimm *nvdimm, unsigned int cmd) |
| 3342 | { | 3342 | { |
| 3343 | struct acpi_nfit_desc *acpi_desc = to_acpi_nfit_desc(nd_desc); | 3343 | struct acpi_nfit_desc *acpi_desc = to_acpi_nfit_desc(nd_desc); |
| 3344 | struct nfit_spa *nfit_spa; | ||
| 3345 | int rc = 0; | ||
| 3346 | 3344 | ||
| 3347 | if (nvdimm) | 3345 | if (nvdimm) |
| 3348 | return 0; | 3346 | return 0; |
| @@ -3355,17 +3353,10 @@ static int acpi_nfit_clear_to_send(struct nvdimm_bus_descriptor *nd_desc, | |||
| 3355 | * just needs guarantees that any ARS it initiates are not | 3353 | * just needs guarantees that any ARS it initiates are not |
| 3356 | * interrupted by any intervening start requests from userspace. | 3354 | * interrupted by any intervening start requests from userspace. |
| 3357 | */ | 3355 | */ |
| 3358 | mutex_lock(&acpi_desc->init_mutex); | 3356 | if (work_busy(&acpi_desc->dwork.work)) |
| 3359 | list_for_each_entry(nfit_spa, &acpi_desc->spas, list) | 3357 | return -EBUSY; |
| 3360 | if (acpi_desc->scrub_spa | ||
| 3361 | || test_bit(ARS_REQ_SHORT, &nfit_spa->ars_state) | ||
| 3362 | || test_bit(ARS_REQ_LONG, &nfit_spa->ars_state)) { | ||
| 3363 | rc = -EBUSY; | ||
| 3364 | break; | ||
| 3365 | } | ||
| 3366 | mutex_unlock(&acpi_desc->init_mutex); | ||
| 3367 | 3358 | ||
| 3368 | return rc; | 3359 | return 0; |
| 3369 | } | 3360 | } |
| 3370 | 3361 | ||
| 3371 | int acpi_nfit_ars_rescan(struct acpi_nfit_desc *acpi_desc, | 3362 | int acpi_nfit_ars_rescan(struct acpi_nfit_desc *acpi_desc, |
