Parcourir la source

qcacmn: Don't flush irq_enable register write

The Common subsystem shutdown is allowed after the irq_enable
register is written.  A race condition in host (multiple other
interrupts firing on the same core). Can delay the register read
and allow the common sub system to be shutdown before the read.
The read would then cause an SNOC error as the register is unclocked.

Change-Id: Icb90c185eabcbd63b28b02bdf5c1de2d06d3620e
CRs-Fixed: 1108494
Houston Hoffman il y a 8 ans
Parent
commit
a4b5f900be
1 fichiers modifiés avec 1 ajouts et 2 suppressions
  1. 1 2
      hif/src/snoc/hif_io32_snoc.h

+ 1 - 2
hif/src/snoc/hif_io32_snoc.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2017 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -47,7 +47,6 @@ static inline void ce_enable_irq_in_individual_register(struct hif_softc *scn,
 	uint32_t offset;
 	offset = HOST_IE_ADDRESS + CE_BASE_ADDRESS(ce_id);
 	hif_write32_mb(scn->mem + offset, 1);
-	hif_read32_mb(scn->mem + offset);
 }
 
 static inline void ce_disable_irq_in_individual_register(struct hif_softc *scn,