mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org, "Hans Verkuil" <hverkuil@xs4all.nl>,
	"Steven Toth" <stoth@kernellabs.com>,
	"Hans Verkuil" <hans.verkuil@cisco.com>,
	"Mauro Carvalho Chehab" <mchehab@osg.samsung.com>
Subject: [PATCH 3.16 131/192] [media] saa7164: fix sparse warnings
Date: Mon, 09 Oct 2017 13:44:24 +0100	[thread overview]
Message-ID: <lsq.1507553064.971788611@decadent.org.uk> (raw)
In-Reply-To: <lsq.1507553063.449494954@decadent.org.uk>

3.16.49-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Hans Verkuil <hverkuil@xs4all.nl>

commit 065e1477d277174242e73e7334c717b840d0693f upstream.

Fix many sparse warnings:

drivers/media/pci/saa7164/saa7164-core.c:97:18: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-core.c:122:31: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-core.c:122:31: warning: incorrect type in initializer (different address spaces)
drivers/media/pci/saa7164/saa7164-core.c:122:31:    expected unsigned char [noderef] [usertype] <asn:2>*bufcpu
drivers/media/pci/saa7164/saa7164-core.c:122:31:    got unsigned char [usertype] *<noident>
drivers/media/pci/saa7164/saa7164-core.c:282:44: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-core.c:286:38: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-core.c:286:35: warning: incorrect type in assignment (different address spaces)
drivers/media/pci/saa7164/saa7164-core.c:286:35:    expected unsigned char [noderef] [usertype] <asn:2>*p
drivers/media/pci/saa7164/saa7164-core.c:286:35:    got unsigned char [usertype] *<noident>
drivers/media/pci/saa7164/saa7164-core.c:352:44: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-core.c:527:53: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-core.c:129:30: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:133:38: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:133:72: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:134:35: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:287:61: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:288:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:289:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:290:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:291:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:292:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:293:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-core.c:294:65: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-fw.c:548:52: warning: incorrect type in argument 5 (different address spaces)
drivers/media/pci/saa7164/saa7164-fw.c:548:52:    expected unsigned char [usertype] *dst
drivers/media/pci/saa7164/saa7164-fw.c:548:52:    got unsigned char [noderef] [usertype] <asn:2>*
drivers/media/pci/saa7164/saa7164-fw.c:579:44: warning: incorrect type in argument 5 (different address spaces)
drivers/media/pci/saa7164/saa7164-fw.c:579:44:    expected unsigned char [usertype] *dst
drivers/media/pci/saa7164/saa7164-fw.c:579:44:    got unsigned char [noderef] [usertype] <asn:2>*
drivers/media/pci/saa7164/saa7164-fw.c:597:44: warning: incorrect type in argument 5 (different address spaces)
drivers/media/pci/saa7164/saa7164-fw.c:597:44:    expected unsigned char [usertype] *dst
drivers/media/pci/saa7164/saa7164-fw.c:597:44:    got unsigned char [noderef] [usertype] <asn:2>*
drivers/media/pci/saa7164/saa7164-bus.c:36:36: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-bus.c:41:36: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-bus.c:151:19: warning: incorrect type in assignment (different base types)
drivers/media/pci/saa7164/saa7164-bus.c:151:19:    expected unsigned short [unsigned] [usertype] size
drivers/media/pci/saa7164/saa7164-bus.c:151:19:    got restricted __le16 [usertype] <noident>
drivers/media/pci/saa7164/saa7164-bus.c:152:22: warning: incorrect type in assignment (different base types)
drivers/media/pci/saa7164/saa7164-bus.c:152:22:    expected unsigned int [unsigned] [usertype] command
drivers/media/pci/saa7164/saa7164-bus.c:152:22:    got restricted __le32 [usertype] <noident>
drivers/media/pci/saa7164/saa7164-bus.c:153:30: warning: incorrect type in assignment (different base types)
drivers/media/pci/saa7164/saa7164-bus.c:153:30:    expected unsigned short [unsigned] [usertype] controlselector
drivers/media/pci/saa7164/saa7164-bus.c:153:30:    got restricted __le16 [usertype] <noident>
drivers/media/pci/saa7164/saa7164-bus.c:172:20: warning: cast to restricted __le32
drivers/media/pci/saa7164/saa7164-bus.c:173:20: warning: cast to restricted __le32
drivers/media/pci/saa7164/saa7164-bus.c:206:28: warning: cast to restricted __le32
drivers/media/pci/saa7164/saa7164-bus.c:287:9: warning: incorrect type in argument 1 (different base types)
drivers/media/pci/saa7164/saa7164-bus.c:287:9:    expected unsigned int [unsigned] val
drivers/media/pci/saa7164/saa7164-bus.c:287:9:    got restricted __le32 [usertype] <noident>
drivers/media/pci/saa7164/saa7164-bus.c:339:20: warning: cast to restricted __le32
drivers/media/pci/saa7164/saa7164-bus.c:340:20: warning: cast to restricted __le32
drivers/media/pci/saa7164/saa7164-bus.c:463:9: warning: incorrect type in argument 1 (different base types)
drivers/media/pci/saa7164/saa7164-bus.c:463:9:    expected unsigned int [unsigned] val
drivers/media/pci/saa7164/saa7164-bus.c:463:9:    got restricted __le32 [usertype] <noident>
drivers/media/pci/saa7164/saa7164-bus.c:466:21: warning: cast to restricted __le16
drivers/media/pci/saa7164/saa7164-bus.c:467:24: warning: cast to restricted __le32
drivers/media/pci/saa7164/saa7164-bus.c:468:32: warning: cast to restricted __le16
drivers/media/pci/saa7164/saa7164-buffer.c:122:18: warning: incorrect type in assignment (different address spaces)
drivers/media/pci/saa7164/saa7164-buffer.c:122:18:    expected unsigned long long [noderef] [usertype] <asn:2>*cpu
drivers/media/pci/saa7164/saa7164-buffer.c:122:18:    got void *
drivers/media/pci/saa7164/saa7164-buffer.c:127:21: warning: incorrect type in assignment (different address spaces)
drivers/media/pci/saa7164/saa7164-buffer.c:127:21:    expected unsigned long long [noderef] [usertype] <asn:2>*pt_cpu
drivers/media/pci/saa7164/saa7164-buffer.c:127:21:    got void *
drivers/media/pci/saa7164/saa7164-buffer.c:134:20: warning: cast removes address space of expression
drivers/media/pci/saa7164/saa7164-buffer.c:156:63: warning: incorrect type in argument 3 (different address spaces)
drivers/media/pci/saa7164/saa7164-buffer.c:156:63:    expected void *vaddr
drivers/media/pci/saa7164/saa7164-buffer.c:156:63:    got unsigned long long [noderef] [usertype] <asn:2>*cpu
drivers/media/pci/saa7164/saa7164-buffer.c:179:57: warning: incorrect type in argument 3 (different address spaces)
drivers/media/pci/saa7164/saa7164-buffer.c:179:57:    expected void *vaddr
drivers/media/pci/saa7164/saa7164-buffer.c:179:57:    got unsigned long long [noderef] [usertype] <asn:2>*cpu
drivers/media/pci/saa7164/saa7164-buffer.c:180:56: warning: incorrect type in argument 3 (different address spaces)
drivers/media/pci/saa7164/saa7164-buffer.c:180:56:    expected void *vaddr
drivers/media/pci/saa7164/saa7164-buffer.c:180:56:    got unsigned long long [noderef] [usertype] <asn:2>*pt_cpu
drivers/media/pci/saa7164/saa7164-buffer.c:84:17: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-buffer.c:147:31: warning: dereference of noderef expression
drivers/media/pci/saa7164/saa7164-buffer.c:148:17: warning: dereference of noderef expression

Most are caused by pointers marked as __iomem when they aren't or not marked as
__iomem when they should.

Also note that readl/writel already do endian conversion, so there is no need to
do it again.

saa7164_bus_set/get were a bit tricky: you have to make sure the msg endian
conversion is done at the right time, and that the code isn't using fields that
are still little endian instead of cpu-endianness.

The approach chosen is to convert just before writing to the ring buffer
and to convert it back right after reading from the ring buffer.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 drivers/media/pci/saa7164/saa7164-buffer.c |   4 +-
 drivers/media/pci/saa7164/saa7164-bus.c    | 101 +++++++++++++++++------------
 drivers/media/pci/saa7164/saa7164-core.c   |  13 ++--
 drivers/media/pci/saa7164/saa7164-fw.c     |   6 +-
 drivers/media/pci/saa7164/saa7164-types.h  |   4 +-
 drivers/media/pci/saa7164/saa7164.h        |   4 +-
 6 files changed, 74 insertions(+), 58 deletions(-)

--- a/drivers/media/pci/saa7164/saa7164-buffer.c
+++ b/drivers/media/pci/saa7164/saa7164-buffer.c
@@ -130,9 +130,9 @@ struct saa7164_buffer *saa7164_buffer_al
 		goto fail2;
 
 	/* init the buffers to a known pattern, easier during debugging */
-	memset_io(buf->cpu, 0xff, buf->pci_size);
+	memset(buf->cpu, 0xff, buf->pci_size);
 	buf->crc = crc32(0, buf->cpu, buf->actual_size);
-	memset_io(buf->pt_cpu, 0xff, buf->pt_size);
+	memset(buf->pt_cpu, 0xff, buf->pt_size);
 
 	dprintk(DBGLVL_BUF, "%s()   allocated buffer @ 0x%p (%d pageptrs)\n",
 		__func__, buf, params->numpagetables);
--- a/drivers/media/pci/saa7164/saa7164-bus.c
+++ b/drivers/media/pci/saa7164/saa7164-bus.c
@@ -33,12 +33,12 @@ int saa7164_bus_setup(struct saa7164_dev
 	b->Type			= TYPE_BUS_PCIe;
 	b->m_wMaxReqSize	= SAA_DEVICE_MAXREQUESTSIZE;
 
-	b->m_pdwSetRing		= (u8 *)(dev->bmmio +
+	b->m_pdwSetRing		= (u8 __iomem *)(dev->bmmio +
 		((u32)dev->busdesc.CommandRing));
 
 	b->m_dwSizeSetRing	= SAA_DEVICE_BUFFERBLOCKSIZE;
 
-	b->m_pdwGetRing		= (u8 *)(dev->bmmio +
+	b->m_pdwGetRing		= (u8 __iomem *)(dev->bmmio +
 		((u32)dev->busdesc.ResponseRing));
 
 	b->m_dwSizeGetRing	= SAA_DEVICE_BUFFERBLOCKSIZE;
@@ -138,6 +138,7 @@ int saa7164_bus_set(struct saa7164_dev *
 	u32 bytes_to_write, free_write_space, timeout, curr_srp, curr_swp;
 	u32 new_swp, space_rem;
 	int ret = SAA_ERR_BAD_PARAMETER;
+	u16 size;
 
 	if (!msg) {
 		printk(KERN_ERR "%s() !msg\n", __func__);
@@ -148,10 +149,6 @@ int saa7164_bus_set(struct saa7164_dev *
 
 	saa7164_bus_verify(dev);
 
-	msg->size = cpu_to_le16(msg->size);
-	msg->command = cpu_to_le32(msg->command);
-	msg->controlselector = cpu_to_le16(msg->controlselector);
-
 	if (msg->size > dev->bus.m_wMaxReqSize) {
 		printk(KERN_ERR "%s() Exceeded dev->bus.m_wMaxReqSize\n",
 			__func__);
@@ -169,8 +166,8 @@ int saa7164_bus_set(struct saa7164_dev *
 	bytes_to_write = sizeof(*msg) + msg->size;
 	free_write_space = 0;
 	timeout = SAA_BUS_TIMEOUT;
-	curr_srp = le32_to_cpu(saa7164_readl(bus->m_dwSetReadPos));
-	curr_swp = le32_to_cpu(saa7164_readl(bus->m_dwSetWritePos));
+	curr_srp = saa7164_readl(bus->m_dwSetReadPos);
+	curr_swp = saa7164_readl(bus->m_dwSetWritePos);
 
 	/* Deal with ring wrapping issues */
 	if (curr_srp > curr_swp)
@@ -203,7 +200,7 @@ int saa7164_bus_set(struct saa7164_dev *
 		mdelay(1);
 
 		/* Check the space usage again */
-		curr_srp = le32_to_cpu(saa7164_readl(bus->m_dwSetReadPos));
+		curr_srp = saa7164_readl(bus->m_dwSetReadPos);
 
 		/* Deal with ring wrapping issues */
 		if (curr_srp > curr_swp)
@@ -223,6 +220,16 @@ int saa7164_bus_set(struct saa7164_dev *
 	dprintk(DBGLVL_BUS, "%s() bus->m_dwSizeSetRing = %x\n", __func__,
 		bus->m_dwSizeSetRing);
 
+	/*
+	 * Make a copy of msg->size before it is converted to le16 since it is
+	 * used in the code below.
+	 */
+	size = msg->size;
+	/* Convert to le16/le32 */
+	msg->size = (__force u16)cpu_to_le16(msg->size);
+	msg->command = (__force u32)cpu_to_le32(msg->command);
+	msg->controlselector = (__force u16)cpu_to_le16(msg->controlselector);
+
 	/* Mental Note: line 462 tmmhComResBusPCIe.cpp */
 
 	/* Check if we're going to wrap again */
@@ -243,28 +250,28 @@ int saa7164_bus_set(struct saa7164_dev *
 			dprintk(DBGLVL_BUS, "%s() tr4\n", __func__);
 
 			/* Split the msg into pieces as the ring wraps */
-			memcpy(bus->m_pdwSetRing + curr_swp, msg, space_rem);
-			memcpy(bus->m_pdwSetRing, (u8 *)msg + space_rem,
+			memcpy_toio(bus->m_pdwSetRing + curr_swp, msg, space_rem);
+			memcpy_toio(bus->m_pdwSetRing, (u8 *)msg + space_rem,
 				sizeof(*msg) - space_rem);
 
-			memcpy(bus->m_pdwSetRing + sizeof(*msg) - space_rem,
-				buf, msg->size);
+			memcpy_toio(bus->m_pdwSetRing + sizeof(*msg) - space_rem,
+				buf, size);
 
 		} else if (space_rem == sizeof(*msg)) {
 			dprintk(DBGLVL_BUS, "%s() tr5\n", __func__);
 
 			/* Additional data at the beginning of the ring */
-			memcpy(bus->m_pdwSetRing + curr_swp, msg, sizeof(*msg));
-			memcpy(bus->m_pdwSetRing, buf, msg->size);
+			memcpy_toio(bus->m_pdwSetRing + curr_swp, msg, sizeof(*msg));
+			memcpy_toio(bus->m_pdwSetRing, buf, size);
 
 		} else {
 			/* Additional data wraps around the ring */
-			memcpy(bus->m_pdwSetRing + curr_swp, msg, sizeof(*msg));
-			if (msg->size > 0) {
-				memcpy(bus->m_pdwSetRing + curr_swp +
+			memcpy_toio(bus->m_pdwSetRing + curr_swp, msg, sizeof(*msg));
+			if (size > 0) {
+				memcpy_toio(bus->m_pdwSetRing + curr_swp +
 					sizeof(*msg), buf, space_rem -
 					sizeof(*msg));
-				memcpy(bus->m_pdwSetRing, (u8 *)buf +
+				memcpy_toio(bus->m_pdwSetRing, (u8 *)buf +
 					space_rem - sizeof(*msg),
 					bytes_to_write - space_rem);
 			}
@@ -276,15 +283,20 @@ int saa7164_bus_set(struct saa7164_dev *
 		dprintk(DBGLVL_BUS, "%s() tr6\n", __func__);
 
 		/* The ring buffer doesn't wrap, two simple copies */
-		memcpy(bus->m_pdwSetRing + curr_swp, msg, sizeof(*msg));
-		memcpy(bus->m_pdwSetRing + curr_swp + sizeof(*msg), buf,
-			msg->size);
+		memcpy_toio(bus->m_pdwSetRing + curr_swp, msg, sizeof(*msg));
+		memcpy_toio(bus->m_pdwSetRing + curr_swp + sizeof(*msg), buf,
+			size);
 	}
 
 	dprintk(DBGLVL_BUS, "%s() new_swp = %x\n", __func__, new_swp);
 
 	/* Update the bus write position */
-	saa7164_writel(bus->m_dwSetWritePos, cpu_to_le32(new_swp));
+	saa7164_writel(bus->m_dwSetWritePos, new_swp);
+
+	/* Convert back to cpu after writing the msg to the ringbuffer. */
+	msg->size = le16_to_cpu((__force __le16)msg->size);
+	msg->command = le32_to_cpu((__force __le32)msg->command);
+	msg->controlselector = le16_to_cpu((__force __le16)msg->controlselector);
 	ret = SAA_OK;
 
 out:
@@ -336,8 +348,8 @@ int saa7164_bus_get(struct saa7164_dev *
 	/* Peek the bus to see if a msg exists, if it's not what we're expecting
 	 * then return cleanly else read the message from the bus.
 	 */
-	curr_gwp = le32_to_cpu(saa7164_readl(bus->m_dwGetWritePos));
-	curr_grp = le32_to_cpu(saa7164_readl(bus->m_dwGetReadPos));
+	curr_gwp = saa7164_readl(bus->m_dwGetWritePos);
+	curr_grp = saa7164_readl(bus->m_dwGetReadPos);
 
 	if (curr_gwp == curr_grp) {
 		ret = SAA_ERR_EMPTY;
@@ -369,14 +381,18 @@ int saa7164_bus_get(struct saa7164_dev *
 		new_grp -= bus->m_dwSizeGetRing;
 		space_rem = bus->m_dwSizeGetRing - curr_grp;
 
-		memcpy(&msg_tmp, bus->m_pdwGetRing + curr_grp, space_rem);
-		memcpy((u8 *)&msg_tmp + space_rem, bus->m_pdwGetRing,
+		memcpy_fromio(&msg_tmp, bus->m_pdwGetRing + curr_grp, space_rem);
+		memcpy_fromio((u8 *)&msg_tmp + space_rem, bus->m_pdwGetRing,
 			bytes_to_read - space_rem);
 
 	} else {
 		/* No wrapping */
-		memcpy(&msg_tmp, bus->m_pdwGetRing + curr_grp, bytes_to_read);
+		memcpy_fromio(&msg_tmp, bus->m_pdwGetRing + curr_grp, bytes_to_read);
 	}
+	/* Convert from little endian to CPU */
+	msg_tmp.size = le16_to_cpu((__force __le16)msg_tmp.size);
+	msg_tmp.command = le32_to_cpu((__force __le32)msg_tmp.command);
+	msg_tmp.controlselector = le16_to_cpu((__force __le16)msg_tmp.controlselector);
 
 	/* No need to update the read positions, because this was a peek */
 	/* If the caller specifically want to peek, return */
@@ -427,24 +443,24 @@ int saa7164_bus_get(struct saa7164_dev *
 
 		if (space_rem < sizeof(*msg)) {
 			/* msg wraps around the ring */
-			memcpy(msg, bus->m_pdwGetRing + curr_grp, space_rem);
-			memcpy((u8 *)msg + space_rem, bus->m_pdwGetRing,
+			memcpy_fromio(msg, bus->m_pdwGetRing + curr_grp, space_rem);
+			memcpy_fromio((u8 *)msg + space_rem, bus->m_pdwGetRing,
 				sizeof(*msg) - space_rem);
 			if (buf)
-				memcpy(buf, bus->m_pdwGetRing + sizeof(*msg) -
+				memcpy_fromio(buf, bus->m_pdwGetRing + sizeof(*msg) -
 					space_rem, buf_size);
 
 		} else if (space_rem == sizeof(*msg)) {
-			memcpy(msg, bus->m_pdwGetRing + curr_grp, sizeof(*msg));
+			memcpy_fromio(msg, bus->m_pdwGetRing + curr_grp, sizeof(*msg));
 			if (buf)
-				memcpy(buf, bus->m_pdwGetRing, buf_size);
+				memcpy_fromio(buf, bus->m_pdwGetRing, buf_size);
 		} else {
 			/* Additional data wraps around the ring */
-			memcpy(msg, bus->m_pdwGetRing + curr_grp, sizeof(*msg));
+			memcpy_fromio(msg, bus->m_pdwGetRing + curr_grp, sizeof(*msg));
 			if (buf) {
-				memcpy(buf, bus->m_pdwGetRing + curr_grp +
+				memcpy_fromio(buf, bus->m_pdwGetRing + curr_grp +
 					sizeof(*msg), space_rem - sizeof(*msg));
-				memcpy(buf + space_rem - sizeof(*msg),
+				memcpy_fromio(buf + space_rem - sizeof(*msg),
 					bus->m_pdwGetRing, bytes_to_read -
 					space_rem);
 			}
@@ -453,19 +469,20 @@ int saa7164_bus_get(struct saa7164_dev *
 
 	} else {
 		/* No wrapping */
-		memcpy(msg, bus->m_pdwGetRing + curr_grp, sizeof(*msg));
+		memcpy_fromio(msg, bus->m_pdwGetRing + curr_grp, sizeof(*msg));
 		if (buf)
-			memcpy(buf, bus->m_pdwGetRing + curr_grp + sizeof(*msg),
+			memcpy_fromio(buf, bus->m_pdwGetRing + curr_grp + sizeof(*msg),
 				buf_size);
 	}
+	/* Convert from little endian to CPU */
+	msg->size = le16_to_cpu((__force __le16)msg->size);
+	msg->command = le32_to_cpu((__force __le32)msg->command);
+	msg->controlselector = le16_to_cpu((__force __le16)msg->controlselector);
 
 	/* Update the read positions, adjusting the ring */
-	saa7164_writel(bus->m_dwGetReadPos, cpu_to_le32(new_grp));
+	saa7164_writel(bus->m_dwGetReadPos, new_grp);
 
 peekout:
-	msg->size = le16_to_cpu(msg->size);
-	msg->command = le32_to_cpu(msg->command);
-	msg->controlselector = le16_to_cpu(msg->controlselector);
 	ret = SAA_OK;
 out:
 	mutex_unlock(&bus->lock);
--- a/drivers/media/pci/saa7164/saa7164-core.c
+++ b/drivers/media/pci/saa7164/saa7164-core.c
@@ -119,7 +119,7 @@ static void saa7164_ts_verifier(struct s
 	u32 i;
 	u8 cc, a;
 	u16 pid;
-	u8 __iomem *bufcpu = (u8 *)buf->cpu;
+	u8 *bufcpu = (u8 *)buf->cpu;
 
 	port->sync_errors = 0;
 	port->v_cc_errors = 0;
@@ -260,7 +260,7 @@ static void saa7164_work_enchandler_help
 	struct saa7164_user_buffer *ubuf = NULL;
 	struct list_head *c, *n;
 	int i = 0;
-	u8 __iomem *p;
+	u8 *p;
 
 	mutex_lock(&port->dmaqueue_lock);
 	list_for_each_safe(c, n, &port->dmaqueue.list) {
@@ -318,8 +318,7 @@ static void saa7164_work_enchandler_help
 
 				if (buf->actual_size <= ubuf->actual_size) {
 
-					memcpy_fromio(ubuf->data, buf->cpu,
-						ubuf->actual_size);
+					memcpy(ubuf->data, buf->cpu, ubuf->actual_size);
 
 					if (crc_checking) {
 						/* Throw a new checksum on the read buffer */
@@ -346,7 +345,7 @@ static void saa7164_work_enchandler_help
 			 * with known bad data. We check for this data at a later point
 			 * in time. */
 			saa7164_buffer_zero_offsets(port, bufnr);
-			memset_io(buf->cpu, 0xff, buf->pci_size);
+			memset(buf->cpu, 0xff, buf->pci_size);
 			if (crc_checking) {
 				/* Throw yet aanother new checksum on the dma buffer */
 				buf->crc = crc32(0, buf->cpu, buf->actual_size);
@@ -1096,7 +1095,7 @@ static int saa7164_proc_show(struct seq_
 			if (c == 0)
 				seq_printf(m, " %04x:", i);
 
-			seq_printf(m, " %02x", *(b->m_pdwSetRing + i));
+			seq_printf(m, " %02x", readb(b->m_pdwSetRing + i));
 
 			if (++c == 16) {
 				seq_printf(m, "\n");
@@ -1111,7 +1110,7 @@ static int saa7164_proc_show(struct seq_
 			if (c == 0)
 				seq_printf(m, " %04x:", i);
 
-			seq_printf(m, " %02x", *(b->m_pdwGetRing + i));
+			seq_printf(m, " %02x", readb(b->m_pdwGetRing + i));
 
 			if (++c == 16) {
 				seq_printf(m, "\n");
--- a/drivers/media/pci/saa7164/saa7164-fw.c
+++ b/drivers/media/pci/saa7164/saa7164-fw.c
@@ -72,7 +72,7 @@ static int saa7164_dl_wait_clr(struct sa
 /* TODO: move dlflags into dev-> and change to write/readl/b */
 /* TODO: Excessive levels of debug */
 static int saa7164_downloadimage(struct saa7164_dev *dev, u8 *src, u32 srcsize,
-				 u32 dlflags, u8 *dst, u32 dstsize)
+				 u32 dlflags, u8 __iomem *dst, u32 dstsize)
 {
 	u32 reg, timeout, offset;
 	u8 *srcbuf = NULL;
@@ -136,7 +136,7 @@ static int saa7164_downloadimage(struct
 		srcsize -= dstsize, offset += dstsize) {
 
 		dprintk(DBGLVL_FW, "%s() memcpy %d\n", __func__, dstsize);
-		memcpy(dst, srcbuf + offset, dstsize);
+		memcpy_toio(dst, srcbuf + offset, dstsize);
 
 		/* Flag the data as ready */
 		saa7164_writel(drflag, 1);
@@ -154,7 +154,7 @@ static int saa7164_downloadimage(struct
 
 	dprintk(DBGLVL_FW, "%s() memcpy(l) %d\n", __func__, dstsize);
 	/* Write last block to the device */
-	memcpy(dst, srcbuf+offset, srcsize);
+	memcpy_toio(dst, srcbuf+offset, srcsize);
 
 	/* Flag the data as ready */
 	saa7164_writel(drflag, 1);
--- a/drivers/media/pci/saa7164/saa7164-types.h
+++ b/drivers/media/pci/saa7164/saa7164-types.h
@@ -78,9 +78,9 @@ enum tmBusType {
 struct tmComResBusInfo {
 	enum tmBusType Type;
 	u16	m_wMaxReqSize;
-	u8	*m_pdwSetRing;
+	u8 __iomem *m_pdwSetRing;
 	u32	m_dwSizeSetRing;
-	u8	*m_pdwGetRing;
+	u8 __iomem *m_pdwGetRing;
 	u32	m_dwSizeGetRing;
 	u32	m_dwSetWritePos;
 	u32	m_dwSetReadPos;
--- a/drivers/media/pci/saa7164/saa7164.h
+++ b/drivers/media/pci/saa7164/saa7164.h
@@ -313,13 +313,13 @@ struct saa7164_buffer {
 
 	/* A block of page align PCI memory */
 	u32 pci_size;	/* PCI allocation size in bytes */
-	u64 __iomem *cpu;	/* Virtual address */
+	u64 *cpu;	/* Virtual address */
 	dma_addr_t dma;	/* Physical address */
 	u32 crc;	/* Checksum for the entire buffer data */
 
 	/* A page table that splits the block into a number of entries */
 	u32 pt_size;		/* PCI allocation size in bytes */
-	u64 __iomem *pt_cpu;		/* Virtual address */
+	u64 *pt_cpu;		/* Virtual address */
 	dma_addr_t pt_dma;	/* Physical address */
 
 	/* Encoder fops */

  parent reply	other threads:[~2017-10-09 13:08 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-09 12:44 [PATCH 3.16 000/192] 3.16.49-rc1 review Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 085/192] drm/i915: Disable MSI for all pre-gen5 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 004/192] sched/topology: Fix building of overlapping sched-groups Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 021/192] e1000e: Fix Runtime PM blocks EEE link negotiation in S5 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 089/192] RDMA/uverbs: Check port number supplied by user verbs cmds Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 125/192] jfs: preserve i_mode if __jfs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 043/192] xhci: Limit USB2 port wake support for AMD Promontory hosts Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 041/192] ASoC: compress: Derive substream from stream based on direction Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 028/192] iio: magnetometer: st_magn_spi: fix spi_device_id table Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 132/192] [media] saa7164: fix double fetch PCIe access condition Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 072/192] MIPS: Send SIGILL for BPOSGE32 in `__compute_return_epc_for_insn' Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 129/192] f2fs: preserve i_mode if __f2fs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 015/192] Documentation: DMA API: fix a typo in a function name Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 093/192] CIFS: fix circular locking dependency Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 052/192] scsi: bnx2i: missing error code in bnx2i_ep_connect() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 038/192] drm/msm/hdmi: Use bitwise operators when building register values Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 032/192] PCI: Correct PCI_STD_RESOURCE_END usage Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 001/192] sched: Rename a misleading variable in build_overlap_sched_groups() Ben Hutchings
2017-10-09 12:44 ` Ben Hutchings [this message]
2017-10-09 12:44 ` [PATCH 3.16 111/192] Input: i8042 - fix crash at boot time Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 071/192] MIPS: Fix unaligned PC interpretation in `compute_return_epc' Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 054/192] scsi: sun_esp: fix device reference leaks Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 029/192] vxlan: dont migrate permanent fdb entries during learn Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 130/192] btrfs: preserve i_mode if __btrfs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 040/192] crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 014/192] tools/lib/lockdep: Reduce MAX_LOCK_DEPTH to avoid overflowing lock_chain/: Depth Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 078/192] scsi: ses: do not add a device to an enclosure if enclosure_add_links() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 061/192] ath9k: fix tx99 bus error Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 074/192] arm64: ptrace: Avoid setting compat FP[SC]R to garbage if get_user fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 095/192] tpm: fix a kernel memory leak in tpm-sysfs.c Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 119/192] ext3: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 065/192] vfio: New external user group/file match Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 062/192] USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 046/192] iwlwifi: mvm: fix the recovery flow while connecting Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 059/192] MIPS: Fix mips_atomic_set() with EVA Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 108/192] crypto: atmel - only treat EBUSY as transient if backlog Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 128/192] f2fs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 109/192] powerpc/64: Fix atomic64_inc_not_zero() to return an int Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 026/192] Bluetooth: use constant time memory comparison for secret values Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 010/192] f2fs: try to freeze in gc and discard threads Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 002/192] sched/topology: Refactor function build_overlap_sched_groups() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 049/192] i2c: cadance: fix ctrl/addr reg write order Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 117/192] ext2: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 063/192] libertas: Fix lbs_prb_rsp_limit_set() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 027/192] iio: accel: st_accel_spi: fix spi_device_id table Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 113/192] sunrpc: use constant time memory comparison for mac Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 011/192] wlcore: fix 64K page support Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 037/192] udf: Fix deadlock between writeback and udf_setsize() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 094/192] rtc: rtc-nuc900: fix loop timeout test Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 084/192] x86/xen: allow userspace access during hypercalls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 088/192] IB/core: Add inline function to validate port Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 058/192] MIPS: Save static registers before sysmips Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 039/192] NFC: fix broken device allocation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 016/192] drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 034/192] USB: serial: option: add two Longcheer device ids Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 120/192] ext3: preserve i_mode if ext2_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 031/192] usb: Fix typo in the definition of Endpoint[out]Request Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 024/192] xen: avoid type warning in xchg_xen_ulong Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 057/192] MIPS: Fix mips_atomic_set() retry condition Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 056/192] MIPS: module: Ensure we always clean up r_mips_hi16_list Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 114/192] ubifs: Correctly evict xattr inodes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 055/192] MIPS: Bail on unsupported module relocs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 022/192] e1000e: Undo e1000e_pm_freeze if __e1000_shutdown fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 013/192] Fix serial console on SNI RM400 machines Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 104/192] MIPS: Negate error syscall return in trace Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 070/192] MIPS: Actually decode JALX in `__compute_return_epc_for_insn' Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 126/192] ext4: preserve i_mode if __ext4_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 077/192] PCI/PM: Restore the status of PCI devices across hibernation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 107/192] crypto: caam - fix signals handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 025/192] vt: fix unchecked __put_user() in tioclinux ioctls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 115/192] ubifs: Don't leak kernel memory to the MTD Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 051/192] scsi: virtio_scsi: let host do exception handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 069/192] MIPS: math-emu: Prevent wrong ISA mode instruction emulation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 036/192] udf: Fix races with i_size changes during readpage Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 045/192] Btrfs: fix invalid extent maps due to hole punching Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 007/192] mwifiex: fixup error cases in mwifiex_add_virtual_intf() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 009/192] f2fs: load inode's flag from disk Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 012/192] arm64: Preventing READ_IMPLIES_EXEC propagation Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 064/192] vfio: Fix group release deadlock Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 080/192] parisc: use compat_sys_keyctl() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 023/192] perf/core: Correct event creation with PERF_FORMAT_GROUP Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 083/192] ipv6: dad: don't remove dynamic addresses if link is down Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 044/192] x86/nmi: Fix timeout test in test_nmi_ipi() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 053/192] xfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 079/192] scsi: Add STARGET_CREATED_REMOVE state to scsi_target_state Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 073/192] Add USB quirk for HVR-950q to avoid intermittent device resets Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 086/192] parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 018/192] kvm: vmx: Do not disable intercepts for BNDCFGS Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 020/192] kvm: vmx: Check value written to IA32_BNDCFGS Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 098/192] cfg80211: Define nla_policy for NL80211_ATTR_LOCAL_MESH_POWER_MODE Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 005/192] sched/topology: Fix overlapping sched_group_mask Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 101/192] mm/mmap.c: do not blow on PROT_NONE MAP_FIXED holes in the stack Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 121/192] hfsplus: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 060/192] ath9k: fix tx99 use after free Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 099/192] cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 124/192] jfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 042/192] Btrfs: skip commit transaction if we don't have enough pinned bytes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 090/192] net: reflect mark on tcp syn ack packets Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 110/192] PM / QoS: return -EINVAL for bogus strings Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 091/192] s390/syscalls: Fix out of bounds arguments access Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 123/192] reiserfs: preserve i_mode if __reiserfs_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 127/192] ext4: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 092/192] crypto: sha1-ssse3 - Disable avx2 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 048/192] staging: comedi: fix clean-up of comedi_class in comedi_init() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 082/192] ipv6: always add flag an address that failed DAD with DADFAILED Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 066/192] PCI: Mark Haswell Power Control Unit as having non-compliant BARs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 030/192] usb: usbip: set buffer pointers to NULL after free Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 019/192] kvm: x86: Guest BNDCFGS requires guest MPX support Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 100/192] drm/radeon: Fix eDP for single-display iMac10,1 (v2) Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 067/192] PCI: Work around poweroff & suspend-to-RAM issue on Macbook Pro 11 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 075/192] btrfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 076/192] mwifiex: do not update MCS set from hostapd Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 068/192] PM / Domains: Fix unsafe iteration over modified list of device links Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 003/192] sched/fair, cpumask: Export for_each_cpu_wrap() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 006/192] sched/topology: Fix overlapping sched_group_capacity Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 102/192] fs/dcache.c: fix spin lockup issue on nlru->lock Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 096/192] target: Fix COMPARE_AND_WRITE caw_sem leak during se_cmd quiesce Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 050/192] af_iucv: Move sockaddr length checks to before accessing sa_family in bind and connect handlers Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 097/192] cfg80211: Check if PMKID attribute is of expected size Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 035/192] USB: serial: qcserial: new Sierra Wireless EM7305 device ID Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 103/192] powerpc/asm: Mark cr0 as clobbered in mftb() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 033/192] md: don't use flush_signals in userspace processes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 112/192] sysctl: fix lax sysctl_check_table() sanity check Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 116/192] mm: fix overflow check in expand_upwards() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 087/192] IB/core: Create common start/end port functions Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 081/192] parisc: Report SIGSEGV instead of SIGBUS when running out of stack Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 008/192] pinctrl: imx: fix debug message for SHARE_MUX_CONF_REG case Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 105/192] iscsi-target: Add login_keys_workaround attribute for non RFC initiators Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 118/192] ext2: preserve i_mode if ext2_set_acl() fails Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 122/192] reiserfs: Don't clear SGID when inheriting ACLs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 106/192] powerpc: Fix emulation of mfocrf in emulate_step() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 047/192] spi: atmel: fix corrupted data issue on SAM9 family SoCs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 017/192] [media] mceusb: fix memory leaks in error path Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 191/192] cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 182/192] fs/cifs: make share unaccessible at root level mountable Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 146/192] sparc64: Fix sparc64_set_context stack handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 169/192] macintosh/therm_windtunnel: Export I2C module alias information Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 170/192] MIPS: KVM: Fix modular KVM under QEMU Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 135/192] video: fbdev: aty: do not leak uninitialized padding in clk to userspace Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 172/192] mm/swap.c: flush lru pvecs on compound page arrival Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 165/192] misc: ad525x_dpot: Fix the enabling of the "otpXen" attributes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 140/192] net/route: enforce hoplimit max value Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 184/192] Compare prepaths when comparing superblocks Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 160/192] v4l2-dv-timings.h: fix polarity for 4k formats Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 137/192] scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 163/192] Btrfs: don't use src fd for printk Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 158/192] usb: musb: cppi41: correct the macro name EP_MODE_AUTOREG_* Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 180/192] ALSA: oxygen: Fix logical-not-parentheses warning Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 145/192] sparc64: Fix bootup regressions on some Kconfig combinations Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 164/192] serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 174/192] mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 144/192] sparc: Fix system call tracing register handling Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 162/192] ARM: OMAP3: Fix booting with thumb2 kernel Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 134/192] kvm: nVMX: Don't allow L2 to access the hardware CR8 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 161/192] Input: ads7846 - correct the value got from SPI Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 148/192] sparc64: Take ctx_alloc_lock properly in hugetlb_setup() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 173/192] s390/seccomp: fix error return for filtered system calls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 178/192] PCI: Add Netronome NFP4000 PF device ID Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 177/192] PCI: Limit config space size for Netronome NFP6000 family Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 151/192] net_dbg_ratelimited: turn into no-op when !DEBUG Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 159/192] usb: musb: cppi41: improve rx channel abort routine Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 141/192] ipv4/fib: don't warn when primary address is missing if in_dev is dead Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 186/192] Fix regression which breaks DFS mounting Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 189/192] sched: fix confusing PFA_NO_NEW_PRIVS constant Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 167/192] perf/x86: Honor the architectural performance monitoring version Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 188/192] sched: move no_new_privs into new atomic flags Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 133/192] nl80211: check for the required netlink attributes presence Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 147/192] sparc/PCI: Fix for panic while enabling SR-IOV Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 139/192] l2tp: avoid use-after-free caused by l2tp_ip_backlog_recv Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 154/192] net sched filters: fix notification of filter delete with proper handle Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 190/192] sched: add macros to define bitops for task atomic flags Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 179/192] PCI: Limit config space size for Netronome NFP4000 Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 138/192] Bluetooth: Properly check L2CAP config option output buffer length Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 183/192] Fix memory leaks in cifs_do_mount() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 152/192] net: Implement net_dbg_ratelimited() for CONFIG_DYNAMIC_DEBUG case Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 143/192] m32r: add io*_rep helpers Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 156/192] drm/irq: BUG_ON() -> WARN_ON() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 142/192] m32r: add definition of ioremap_wc to io.h Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 192/192] dm: flush queued bios when process blocks to avoid deadlock Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 175/192] PCI: Support PCIe devices with short cfg_size Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 166/192] MIPS: Fix 64k page support for 32 bit kernels Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 168/192] perf/x86: Fix undefined shift on 32-bit kernels Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 171/192] arm64: Rework valid_user_regs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 155/192] Revert "ACPI / EC: Add support to disallow QR_EC to be issued before completing previous QR_EC" Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 176/192] PCI: Add Netronome vendor and device IDs Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 157/192] x86/efi: Avoid triple faults during EFI mixed mode calls Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 149/192] sparc: Harden signal return frame checks Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 185/192] Move check for prefix path to within cifs_get_root() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 150/192] sparc64: Fix return from trap window fill crashes Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 181/192] netvsc: fix incorrect receive checksum offloading Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 187/192] Fix match_prepath() Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 136/192] xfs: XFS_IS_REALTIME_INODE() should be false if no rt device present Ben Hutchings
2017-10-09 12:44 ` [PATCH 3.16 153/192] net: Don't forget pr_fmt on net_dbg_ratelimited for CONFIG_DYNAMIC_DEBUG Ben Hutchings
2017-10-09 20:13 ` [PATCH 3.16 000/192] 3.16.49-rc1 review Guenter Roeck
2017-10-09 21:17   ` Ben Hutchings

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=lsq.1507553064.971788611@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=hans.verkuil@cisco.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab@osg.samsung.com \
    --cc=stable@vger.kernel.org \
    --cc=stoth@kernellabs.com \
    /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

all inboxes | Powered by JetHome®