ASoC: SOF: Intel: pci-tng: revert invalid bar size setting
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 7 Mar 2023 09:53:41 +0000 (11:53 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 7 Mar 2023 13:57:59 +0000 (13:57 +0000)
commitca09e2a351fbc7836ba9418304ff0c3e72addfe0
treea3633b7c60f577039aa30d2bfed2167d32142e2c
parent6ba8ddf86a3ada463e9952a19b069f978a70a748
ASoC: SOF: Intel: pci-tng: revert invalid bar size setting

The logic for the ioremap is to find the resource index 3 (IRAM) and
infer the BAR address by subtracting the IRAM offset. The BAR size
defined in hardware specifications is 2MB.

The commit 5947b2726beb6 ("ASoC: SOF: Intel: Check the bar size before
remapping") tried to find the BAR size by querying the resource length
instead of a pre-canned value, but by requesting the size for index 3
it only gets the size of the IRAM. That's obviously wrong and prevents
the probe from proceeding.

This commit attempted to fix an issue in a fuzzing/simulated
environment but created another on actual devices, so the best course
of action is to revert that change.

Reported-by: Ferry Toth <fntoth@gmail.com>
Tested-by: Ferry Toth <fntoth@gmail.com> (Intel Edison-Arduino)
Link: https://github.com/thesofproject/linux/issues/3901
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230307095341.3222-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/pci-tng.c