From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Paul Menzel <pmenzel@molgen.mpg.de>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>
Subject: [PATCH 4.17 07/46] usb: typec: ucsi: acpi: Workaround for cache mode issue
Date: Fri, 6 Jul 2018 07:46:28 +0200 [thread overview]
Message-ID: <20180706054524.958143727@linuxfoundation.org> (raw)
In-Reply-To: <20180706054524.595521988@linuxfoundation.org>
4.17-stable review patch. If anyone has any objections, please let me know.
------------------
From: Heikki Krogerus <heikki.krogerus@linux.intel.com>
commit 1f9f9d168ce619608572b01771c47a41b15429e6 upstream.
This fixes an issue where the driver fails with an error:
ioremap error for 0x3f799000-0x3f79a000, requested 0x2, got 0x0
On some platforms the UCSI ACPI mailbox SystemMemory
Operation Region may be setup before the driver has been
loaded. That will lead into the driver failing to map the
mailbox region, as it has been already marked as write-back
memory. acpi_os_ioremap() for x86 uses ioremap_cache()
unconditionally.
When the issue happens, the embedded controller has a
pending query event for the UCSI notification right after
boot-up which causes the operation region to be setup before
UCSI driver has been loaded.
The fix is to notify acpi core that the driver is about to
access memory region which potentially overlaps with an
operation region right before mapping it.
acpi_release_memory() will check if the memory has already
been setup (mapped) by acpi core, and deactivate it (unmap)
if it has. The driver is then able to map the memory with
ioremap_nocache() and set the memtype to uncached for the
region.
Reported-by: Paul Menzel <pmenzel@molgen.mpg.de>
Fixes: 8243edf44152 ("usb: typec: ucsi: Add ACPI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/typec/ucsi/ucsi_acpi.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/drivers/usb/typec/ucsi/ucsi_acpi.c
+++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
@@ -79,6 +79,11 @@ static int ucsi_acpi_probe(struct platfo
return -ENODEV;
}
+ /* This will make sure we can use ioremap_nocache() */
+ status = acpi_release_memory(ACPI_HANDLE(&pdev->dev), res, 1);
+ if (ACPI_FAILURE(status))
+ return -ENOMEM;
+
/*
* NOTE: The memory region for the data structures is used also in an
* operation region, which means ACPI has already reserved it. Therefore
next prev parent reply other threads:[~2018-07-06 5:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-06 5:46 [PATCH 4.17 00/46] 4.17.5-stable review Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 01/46] usb: cdc_acm: Add quirk for Uniden UBC125 scanner Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 02/46] USB: serial: cp210x: add CESINEL device ids Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 03/46] USB: serial: cp210x: add Silicon Labs IDs for Windows Update Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 04/46] usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 05/46] usb: typec: tcpm: fix logbuffer index is wrong if _tcpm_log is re-entered Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 06/46] acpi: Add helper for deactivating memory region Greg Kroah-Hartman
2018-07-06 5:46 ` Greg Kroah-Hartman [this message]
2018-07-06 5:46 ` [PATCH 4.17 08/46] usb: typec: ucsi: Fix for incorrect status data issue Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 09/46] xhci: Fix kernel oops in trace_xhci_free_virt_device Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 10/46] n_tty: Fix stall at n_tty_receive_char_special() Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 11/46] n_tty: Access echo_* variables carefully Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 12/46] staging: android: ion: Return an ERR_PTR in ion_map_kernel Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 13/46] iio: mma8452: Fix ignoring MMA8452_INT_DRDY Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 14/46] serial: 8250_pci: Remove stalled entries in blacklist Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 15/46] serdev: fix memleak on module unload Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 16/46] vt: prevent leaking uninitialized data to userspace via /dev/vcs* Greg Kroah-Hartman
2018-07-06 5:49 ` syzbot
2018-07-06 5:46 ` [PATCH 4.17 22/46] drm/sti: Depend on OF rather than selecting it Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 23/46] drm/amd/display: Clear connectors edid pointer Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 25/46] drm/qxl: Call qxl_bo_unref outside atomic context Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 26/46] drm/atmel-hlcdc: check stride values in the first plane Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 27/46] Revert "drm/sun4i: Handle DRM_BUS_FLAG_PIXDATA_*EDGE" Greg Kroah-Hartman
2018-07-06 5:46 ` [PATCH 4.17 28/46] drm/amdgpu: Dont default to DC support for Kaveri and older Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 40/46] drm/i915: Enable provoking vertex fix on Gen9 systems Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 41/46] netfilter: ip6t_rpfilter: provide input interface for route lookup Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 42/46] netfilter: xt_connmark: fix list corruption on rmmod Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 43/46] netfilter: nf_tables: use WARN_ON_ONCE instead of BUG_ON in nft_do_chain() Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 44/46] ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0 Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 45/46] x86/mm: Dont free P4D table when it is folded at runtime Greg Kroah-Hartman
2018-07-06 5:47 ` [PATCH 4.17 46/46] ARM: dts: imx6q: Use correct SDMA script for SPI5 core Greg Kroah-Hartman
2018-07-06 17:51 ` [PATCH 4.17 00/46] 4.17.5-stable review Dan Rue
2018-07-06 18:09 ` Dan Rue
2018-07-07 14:52 ` Greg Kroah-Hartman
2018-07-07 21:40 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180706054524.958143727@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pmenzel@molgen.mpg.de \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).