Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1327942
| From | Alexander Shishkin <alexander.shishkin@linux.intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [QUEUED v0 15/19] intel_th: sth: Sanitize packet callback's return values |
| Date | 2016-02-05 17:50 +0100 |
| Message-ID | <qYRK3-2JM-43@gated-at.bofh.it> (permalink) |
| References | <qYRAm-2Gm-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
According to the stm class interface, the packet callback should return an error if it is asked to generate packets that it doesn't support. When it succeeds, it should return number of bytes consumed from its payload. Currently, for FLAG packet it mistakenly returns 1. This patch addresses these issues. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> --- drivers/hwtracing/intel_th/sth.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/hwtracing/intel_th/sth.c b/drivers/hwtracing/intel_th/sth.c index 56101c33e1..e1aee61dd7 100644 --- a/drivers/hwtracing/intel_th/sth.c +++ b/drivers/hwtracing/intel_th/sth.c @@ -94,10 +94,13 @@ static ssize_t sth_stm_packet(struct stm_data *stm_data, unsigned int master, case STP_PACKET_TRIG: if (flags & STP_PACKET_TIMESTAMPED) reg += 4; - iowrite8(*payload, sth->base + reg); + writeb_relaxed(*payload, sth->base + reg); break; case STP_PACKET_MERR: + if (size > 4) + size = 4; + sth_iowrite(&out->MERR, payload, size); break; @@ -107,8 +110,8 @@ static ssize_t sth_stm_packet(struct stm_data *stm_data, unsigned int master, else outp = (u64 __iomem *)&out->FLAG; - size = 1; - sth_iowrite(outp, payload, size); + size = 0; + writeb_relaxed(0, outp); break; case STP_PACKET_USER: @@ -129,6 +132,8 @@ static ssize_t sth_stm_packet(struct stm_data *stm_data, unsigned int master, sth_iowrite(outp, payload, size); break; + default: + return -ENOTSUPP; } return size; -- 2.7.0
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[QUEUED v0 00/19] stm class/intel_th: Patches in my queue Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 10/19] stm class: Use a signed return type for stm_find_master_chan Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 05/19] stm class: Fix link list locking Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 01/19] stm class: Hide STM-specific options if STM is disabled Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 06/19] stm class: Fix an off-by-one in master array allocation Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 07/19] stm class: Prevent user-controllable allocations Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 02/19] intel_th: INTEL_TH should depend on HAS_DMA Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 09/19] intel_th: pci: Add Broxton SOC support Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 11/19] intel_th: Depend on HAS_IOMEM Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 12/19] intel_th: gth: Remove commented-out code Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 08/19] intel_th: pci: Add Apollo Lake SOC support Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:40 +0100 [QUEUED v0 03/19] stm class: Select CONFIG_SRCU Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 18/19] intel_th: Set root device's drvdata early Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 17/19] stm class: dummy_stm: Create multiple devices Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 16/19] stm class: Support devices with multiple instances Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 04/19] stm class: Fix locking in unbinding policy path Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 19/19] intel_th: Use real device index in the node names Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 13/19] intel_th: Update scratchpad bits according to enabled output activity Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 15/19] intel_th: sth: Sanitize packet callback's return values Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100 [QUEUED v0 14/19] stm class: Use driver's packet callback's return value Alexander Shishkin <alexander.shishkin@linux.intel.com> - 2016-02-05 17:50 +0100
csiph-web