Bharata B Rao 8d5981c4fc spapr: Fix QEMU abort during memory unplug
Commit 0cffce56 (hw/ppc/spapr.c: adding pending_dimm_unplugs to
sPAPRMachineState) introduced a new way to track pending LMBs of DIMM
device that is marked for removal. Since this commit we can hit the
assert in spapr_pending_dimm_unplugs_add() in the following situation:

- DIMM device removal fails as the guest doesn't allow the removal.
- Subsequent attempt to remove the same DIMM would hit the assert
  as the corresponding sPAPRDIMMState is still part of the
  pending_dimm_unplugs list.

Fix this by removing the assert and conditionally adding the
sPAPRDIMMState to pending_dimm_unplugs list only when it is not
already present.

Fixes: 0cffce56ae3501c5783d779f97993ce478acf856
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
[dwg: Tweaked to avoid returning NULL when spapr_pending_dimm_unplugs_add()
 does find an existing entry]
Reviewed-by: Daniel Barboza <danielhb@linux.vnet.ibm.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-07-25 11:14:25 +10:00
..
2016-05-19 16:42:28 +02:00
2016-01-29 15:07:22 +00:00
2017-04-26 12:41:55 +10:00
2017-01-19 22:07:46 +01:00
2017-07-13 13:49:58 +02:00
2016-09-15 15:32:22 +03:00
2017-05-07 09:57:51 +03:00
2017-01-31 10:10:13 +11:00
2017-01-31 10:10:13 +11:00
2017-07-14 12:16:09 +01:00
2017-04-26 12:00:41 +10:00
2017-07-17 15:07:05 +10:00