stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@denx.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	A Sun <as1033x@comcast.net>, Sean Young <sean@mess.org>,
	Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 4.19 090/211] media: mceusb: fix (eliminate) TX IR signal length limit
Date: Fri, 4 Oct 2019 12:12:15 +0200	[thread overview]
Message-ID: <20191004101215.GB24970@amd> (raw)
In-Reply-To: <20191003154507.534538747@linuxfoundation.org>

[-- Attachment #1: Type: text/plain, Size: 19569 bytes --]

On Thu 2019-10-03 17:52:36, Greg Kroah-Hartman wrote:
> From: A Sun <as1033x@comcast.net>

> Other changes:
> 
> The driver's write to USB device architecture change (async to sync I/O)
> is significant so we bump DRIVER_VERSION to "1.95" (from "1.94").

> ---
>  drivers/media/rc/mceusb.c | 334 ++++++++++++++++++++++----------------
>  1 file changed, 196 insertions(+), 138 deletions(-)

This is not a bugfix, this is rewrite that happens to remove a
limitation, and it is way over the 100 line limit. What is going on
here? Why is it even considered for stable?

								Pavel

> diff --git a/drivers/media/rc/mceusb.c b/drivers/media/rc/mceusb.c
> index 4c0c8008872ae..f1dfb84094328 100644
> --- a/drivers/media/rc/mceusb.c
> +++ b/drivers/media/rc/mceusb.c
> @@ -42,21 +42,22 @@
>  #include <linux/pm_wakeup.h>
>  #include <media/rc-core.h>
>  
> -#define DRIVER_VERSION	"1.94"
> +#define DRIVER_VERSION	"1.95"
>  #define DRIVER_AUTHOR	"Jarod Wilson <jarod@redhat.com>"
>  #define DRIVER_DESC	"Windows Media Center Ed. eHome Infrared Transceiver " \
>  			"device driver"
>  #define DRIVER_NAME	"mceusb"
>  
> +#define USB_TX_TIMEOUT		1000 /* in milliseconds */
>  #define USB_CTRL_MSG_SZ		2  /* Size of usb ctrl msg on gen1 hw */
>  #define MCE_G1_INIT_MSGS	40 /* Init messages on gen1 hw to throw out */
>  
>  /* MCE constants */
> -#define MCE_CMDBUF_SIZE		384  /* MCE Command buffer length */
> +#define MCE_IRBUF_SIZE		128  /* TX IR buffer length */
>  #define MCE_TIME_UNIT		50   /* Approx 50us resolution */
> -#define MCE_CODE_LENGTH		5    /* Normal length of packet (with header) */
> -#define MCE_PACKET_SIZE		4    /* Normal length of packet (without header) */
> -#define MCE_IRDATA_HEADER	0x84 /* Actual header format is 0x80 + num_bytes */
> +#define MCE_PACKET_SIZE		31   /* Max length of packet (with header) */
> +#define MCE_IRDATA_HEADER	(0x80 + MCE_PACKET_SIZE - 1)
> +				     /* Actual format is 0x80 + num_bytes */
>  #define MCE_IRDATA_TRAILER	0x80 /* End of IR data */
>  #define MCE_MAX_CHANNELS	2    /* Two transmitters, hardware dependent? */
>  #define MCE_DEFAULT_TX_MASK	0x03 /* Vals: TX1=0x01, TX2=0x02, ALL=0x03 */
> @@ -609,9 +610,9 @@ static void mceusb_dev_printdata(struct mceusb_dev *ir, u8 *buf, int buf_len,
>  	if (len <= skip)
>  		return;
>  
> -	dev_dbg(dev, "%cx data: %*ph (length=%d)",
> -		(out ? 't' : 'r'),
> -		min(len, buf_len - offset), buf + offset, len);
> +	dev_dbg(dev, "%cx data[%d]: %*ph (len=%d sz=%d)",
> +		(out ? 't' : 'r'), offset,
> +		min(len, buf_len - offset), buf + offset, len, buf_len);
>  
>  	inout = out ? "Request" : "Got";
>  
> @@ -733,6 +734,9 @@ static void mceusb_dev_printdata(struct mceusb_dev *ir, u8 *buf, int buf_len,
>  		case MCE_RSP_CMD_ILLEGAL:
>  			dev_dbg(dev, "Illegal PORT_IR command");
>  			break;
> +		case MCE_RSP_TX_TIMEOUT:
> +			dev_dbg(dev, "IR TX timeout (TX buffer underrun)");
> +			break;
>  		default:
>  			dev_dbg(dev, "Unknown command 0x%02x 0x%02x",
>  				 cmd, subcmd);
> @@ -747,13 +751,14 @@ static void mceusb_dev_printdata(struct mceusb_dev *ir, u8 *buf, int buf_len,
>  		dev_dbg(dev, "End of raw IR data");
>  	else if ((cmd != MCE_CMD_PORT_IR) &&
>  		 ((cmd & MCE_PORT_MASK) == MCE_COMMAND_IRDATA))
> -		dev_dbg(dev, "Raw IR data, %d pulse/space samples", ir->rem);
> +		dev_dbg(dev, "Raw IR data, %d pulse/space samples",
> +			cmd & MCE_PACKET_LENGTH_MASK);
>  #endif
>  }
>  
>  /*
>   * Schedule work that can't be done in interrupt handlers
> - * (mceusb_dev_recv() and mce_async_callback()) nor tasklets.
> + * (mceusb_dev_recv() and mce_write_callback()) nor tasklets.
>   * Invokes mceusb_deferred_kevent() for recovering from
>   * error events specified by the kevent bit field.
>   */
> @@ -766,23 +771,80 @@ static void mceusb_defer_kevent(struct mceusb_dev *ir, int kevent)
>  		dev_dbg(ir->dev, "kevent %d scheduled", kevent);
>  }
>  
> -static void mce_async_callback(struct urb *urb)
> +static void mce_write_callback(struct urb *urb)
>  {
> -	struct mceusb_dev *ir;
> -	int len;
> -
>  	if (!urb)
>  		return;
>  
> -	ir = urb->context;
> +	complete(urb->context);
> +}
> +
> +/*
> + * Write (TX/send) data to MCE device USB endpoint out.
> + * Used for IR blaster TX and MCE device commands.
> + *
> + * Return: The number of bytes written (> 0) or errno (< 0).
> + */
> +static int mce_write(struct mceusb_dev *ir, u8 *data, int size)
> +{
> +	int ret;
> +	struct urb *urb;
> +	struct device *dev = ir->dev;
> +	unsigned char *buf_out;
> +	struct completion tx_done;
> +	unsigned long expire;
> +	unsigned long ret_wait;
> +
> +	mceusb_dev_printdata(ir, data, size, 0, size, true);
> +
> +	urb = usb_alloc_urb(0, GFP_KERNEL);
> +	if (unlikely(!urb)) {
> +		dev_err(dev, "Error: mce write couldn't allocate urb");
> +		return -ENOMEM;
> +	}
> +
> +	buf_out = kmalloc(size, GFP_KERNEL);
> +	if (!buf_out) {
> +		usb_free_urb(urb);
> +		return -ENOMEM;
> +	}
> +
> +	init_completion(&tx_done);
> +
> +	/* outbound data */
> +	if (usb_endpoint_xfer_int(ir->usb_ep_out))
> +		usb_fill_int_urb(urb, ir->usbdev, ir->pipe_out,
> +				 buf_out, size, mce_write_callback, &tx_done,
> +				 ir->usb_ep_out->bInterval);
> +	else
> +		usb_fill_bulk_urb(urb, ir->usbdev, ir->pipe_out,
> +				  buf_out, size, mce_write_callback, &tx_done);
> +	memcpy(buf_out, data, size);
> +
> +	ret = usb_submit_urb(urb, GFP_KERNEL);
> +	if (ret) {
> +		dev_err(dev, "Error: mce write submit urb error = %d", ret);
> +		kfree(buf_out);
> +		usb_free_urb(urb);
> +		return ret;
> +	}
> +
> +	expire = msecs_to_jiffies(USB_TX_TIMEOUT);
> +	ret_wait = wait_for_completion_timeout(&tx_done, expire);
> +	if (!ret_wait) {
> +		dev_err(dev, "Error: mce write timed out (expire = %lu (%dms))",
> +			expire, USB_TX_TIMEOUT);
> +		usb_kill_urb(urb);
> +		ret = (urb->status == -ENOENT ? -ETIMEDOUT : urb->status);
> +	} else {
> +		ret = urb->status;
> +	}
> +	if (ret >= 0)
> +		ret = urb->actual_length;	/* bytes written */
>  
>  	switch (urb->status) {
>  	/* success */
>  	case 0:
> -		len = urb->actual_length;
> -
> -		mceusb_dev_printdata(ir, urb->transfer_buffer, len,
> -				     0, len, true);
>  		break;
>  
>  	case -ECONNRESET:
> @@ -792,140 +854,135 @@ static void mce_async_callback(struct urb *urb)
>  		break;
>  
>  	case -EPIPE:
> -		dev_err(ir->dev, "Error: request urb status = %d (TX HALT)",
> +		dev_err(ir->dev, "Error: mce write urb status = %d (TX HALT)",
>  			urb->status);
>  		mceusb_defer_kevent(ir, EVENT_TX_HALT);
>  		break;
>  
>  	default:
> -		dev_err(ir->dev, "Error: request urb status = %d", urb->status);
> +		dev_err(ir->dev, "Error: mce write urb status = %d",
> +			urb->status);
>  		break;
>  	}
>  
> -	/* the transfer buffer and urb were allocated in mce_request_packet */
> -	kfree(urb->transfer_buffer);
> -	usb_free_urb(urb);
> -}
> -
> -/* request outgoing (send) usb packet - used to initialize remote */
> -static void mce_request_packet(struct mceusb_dev *ir, unsigned char *data,
> -								int size)
> -{
> -	int res;
> -	struct urb *async_urb;
> -	struct device *dev = ir->dev;
> -	unsigned char *async_buf;
> +	dev_dbg(dev, "tx done status = %d (wait = %lu, expire = %lu (%dms), urb->actual_length = %d, urb->status = %d)",
> +		ret, ret_wait, expire, USB_TX_TIMEOUT,
> +		urb->actual_length, urb->status);
>  
> -	async_urb = usb_alloc_urb(0, GFP_KERNEL);
> -	if (unlikely(!async_urb)) {
> -		dev_err(dev, "Error, couldn't allocate urb!");
> -		return;
> -	}
> -
> -	async_buf = kmalloc(size, GFP_KERNEL);
> -	if (!async_buf) {
> -		usb_free_urb(async_urb);
> -		return;
> -	}
> -
> -	/* outbound data */
> -	if (usb_endpoint_xfer_int(ir->usb_ep_out))
> -		usb_fill_int_urb(async_urb, ir->usbdev, ir->pipe_out,
> -				 async_buf, size, mce_async_callback, ir,
> -				 ir->usb_ep_out->bInterval);
> -	else
> -		usb_fill_bulk_urb(async_urb, ir->usbdev, ir->pipe_out,
> -				  async_buf, size, mce_async_callback, ir);
> -
> -	memcpy(async_buf, data, size);
> -
> -	dev_dbg(dev, "send request called (size=%#x)", size);
> +	kfree(buf_out);
> +	usb_free_urb(urb);
>  
> -	res = usb_submit_urb(async_urb, GFP_ATOMIC);
> -	if (res) {
> -		dev_err(dev, "send request FAILED! (res=%d)", res);
> -		kfree(async_buf);
> -		usb_free_urb(async_urb);
> -		return;
> -	}
> -	dev_dbg(dev, "send request complete (res=%d)", res);
> +	return ret;
>  }
>  
> -static void mce_async_out(struct mceusb_dev *ir, unsigned char *data, int size)
> +static void mce_command_out(struct mceusb_dev *ir, u8 *data, int size)
>  {
>  	int rsize = sizeof(DEVICE_RESUME);
>  
>  	if (ir->need_reset) {
>  		ir->need_reset = false;
> -		mce_request_packet(ir, DEVICE_RESUME, rsize);
> +		mce_write(ir, DEVICE_RESUME, rsize);
>  		msleep(10);
>  	}
>  
> -	mce_request_packet(ir, data, size);
> +	mce_write(ir, data, size);
>  	msleep(10);
>  }
>  
> -/* Send data out the IR blaster port(s) */
> +/*
> + * Transmit IR out the MCE device IR blaster port(s).
> + *
> + * Convert IR pulse/space sequence from LIRC to MCE format.
> + * Break up a long IR sequence into multiple parts (MCE IR data packets).
> + *
> + * u32 txbuf[] consists of IR pulse, space, ..., and pulse times in usec.
> + * Pulses and spaces are implicit by their position.
> + * The first IR sample, txbuf[0], is always a pulse.
> + *
> + * u8 irbuf[] consists of multiple IR data packets for the MCE device.
> + * A packet is 1 u8 MCE_IRDATA_HEADER and up to 30 u8 IR samples.
> + * An IR sample is 1-bit pulse/space flag with 7-bit time
> + * in MCE time units (50usec).
> + *
> + * Return: The number of IR samples sent (> 0) or errno (< 0).
> + */
>  static int mceusb_tx_ir(struct rc_dev *dev, unsigned *txbuf, unsigned count)
>  {
>  	struct mceusb_dev *ir = dev->priv;
> -	int i, length, ret = 0;
> -	int cmdcount = 0;
> -	unsigned char cmdbuf[MCE_CMDBUF_SIZE];
> -
> -	/* MCE tx init header */
> -	cmdbuf[cmdcount++] = MCE_CMD_PORT_IR;
> -	cmdbuf[cmdcount++] = MCE_CMD_SETIRTXPORTS;
> -	cmdbuf[cmdcount++] = ir->tx_mask;
> +	u8 cmdbuf[3] = { MCE_CMD_PORT_IR, MCE_CMD_SETIRTXPORTS, 0x00 };
> +	u8 irbuf[MCE_IRBUF_SIZE];
> +	int ircount = 0;
> +	unsigned int irsample;
> +	int i, length, ret;
>  
>  	/* Send the set TX ports command */
> -	mce_async_out(ir, cmdbuf, cmdcount);
> -	cmdcount = 0;
> -
> -	/* Generate mce packet data */
> -	for (i = 0; (i < count) && (cmdcount < MCE_CMDBUF_SIZE); i++) {
> -		txbuf[i] = txbuf[i] / MCE_TIME_UNIT;
> -
> -		do { /* loop to support long pulses/spaces > 127*50us=6.35ms */
> -
> -			/* Insert mce packet header every 4th entry */
> -			if ((cmdcount < MCE_CMDBUF_SIZE) &&
> -			    (cmdcount % MCE_CODE_LENGTH) == 0)
> -				cmdbuf[cmdcount++] = MCE_IRDATA_HEADER;
> -
> -			/* Insert mce packet data */
> -			if (cmdcount < MCE_CMDBUF_SIZE)
> -				cmdbuf[cmdcount++] =
> -					(txbuf[i] < MCE_PULSE_BIT ?
> -					 txbuf[i] : MCE_MAX_PULSE_LENGTH) |
> -					 (i & 1 ? 0x00 : MCE_PULSE_BIT);
> -			else {
> -				ret = -EINVAL;
> -				goto out;
> +	cmdbuf[2] = ir->tx_mask;
> +	mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
> +
> +	/* Generate mce IR data packet */
> +	for (i = 0; i < count; i++) {
> +		irsample = txbuf[i] / MCE_TIME_UNIT;
> +
> +		/* loop to support long pulses/spaces > 6350us (127*50us) */
> +		while (irsample > 0) {
> +			/* Insert IR header every 30th entry */
> +			if (ircount % MCE_PACKET_SIZE == 0) {
> +				/* Room for IR header and one IR sample? */
> +				if (ircount >= MCE_IRBUF_SIZE - 1) {
> +					/* Send near full buffer */
> +					ret = mce_write(ir, irbuf, ircount);
> +					if (ret < 0)
> +						return ret;
> +					ircount = 0;
> +				}
> +				irbuf[ircount++] = MCE_IRDATA_HEADER;
>  			}
>  
> -		} while ((txbuf[i] > MCE_MAX_PULSE_LENGTH) &&
> -			 (txbuf[i] -= MCE_MAX_PULSE_LENGTH));
> -	}
> -
> -	/* Check if we have room for the empty packet at the end */
> -	if (cmdcount >= MCE_CMDBUF_SIZE) {
> -		ret = -EINVAL;
> -		goto out;
> -	}
> +			/* Insert IR sample */
> +			if (irsample <= MCE_MAX_PULSE_LENGTH) {
> +				irbuf[ircount] = irsample;
> +				irsample = 0;
> +			} else {
> +				irbuf[ircount] = MCE_MAX_PULSE_LENGTH;
> +				irsample -= MCE_MAX_PULSE_LENGTH;
> +			}
> +			/*
> +			 * Even i = IR pulse
> +			 * Odd  i = IR space
> +			 */
> +			irbuf[ircount] |= (i & 1 ? 0 : MCE_PULSE_BIT);
> +			ircount++;
> +
> +			/* IR buffer full? */
> +			if (ircount >= MCE_IRBUF_SIZE) {
> +				/* Fix packet length in last header */
> +				length = ircount % MCE_PACKET_SIZE;
> +				if (length > 0)
> +					irbuf[ircount - length] -=
> +						MCE_PACKET_SIZE - length;
> +				/* Send full buffer */
> +				ret = mce_write(ir, irbuf, ircount);
> +				if (ret < 0)
> +					return ret;
> +				ircount = 0;
> +			}
> +		}
> +	} /* after for loop, 0 <= ircount < MCE_IRBUF_SIZE */
>  
>  	/* Fix packet length in last header */
> -	length = cmdcount % MCE_CODE_LENGTH;
> -	cmdbuf[cmdcount - length] -= MCE_CODE_LENGTH - length;
> +	length = ircount % MCE_PACKET_SIZE;
> +	if (length > 0)
> +		irbuf[ircount - length] -= MCE_PACKET_SIZE - length;
>  
> -	/* All mce commands end with an empty packet (0x80) */
> -	cmdbuf[cmdcount++] = MCE_IRDATA_TRAILER;
> +	/* Append IR trailer (0x80) to final partial (or empty) IR buffer */
> +	irbuf[ircount++] = MCE_IRDATA_TRAILER;
>  
> -	/* Transmit the command to the mce device */
> -	mce_async_out(ir, cmdbuf, cmdcount);
> +	/* Send final buffer */
> +	ret = mce_write(ir, irbuf, ircount);
> +	if (ret < 0)
> +		return ret;
>  
> -out:
> -	return ret ? ret : count;
> +	return count;
>  }
>  
>  /* Sets active IR outputs -- mce devices typically have two */
> @@ -965,7 +1022,7 @@ static int mceusb_set_tx_carrier(struct rc_dev *dev, u32 carrier)
>  			cmdbuf[2] = MCE_CMD_SIG_END;
>  			cmdbuf[3] = MCE_IRDATA_TRAILER;
>  			dev_dbg(ir->dev, "disabling carrier modulation");
> -			mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +			mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  			return 0;
>  		}
>  
> @@ -979,7 +1036,7 @@ static int mceusb_set_tx_carrier(struct rc_dev *dev, u32 carrier)
>  								carrier);
>  
>  				/* Transmit new carrier to mce device */
> -				mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +				mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  				return 0;
>  			}
>  		}
> @@ -1002,10 +1059,10 @@ static int mceusb_set_timeout(struct rc_dev *dev, unsigned int timeout)
>  	cmdbuf[2] = units >> 8;
>  	cmdbuf[3] = units;
>  
> -	mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +	mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  
>  	/* get receiver timeout value */
> -	mce_async_out(ir, GET_RX_TIMEOUT, sizeof(GET_RX_TIMEOUT));
> +	mce_command_out(ir, GET_RX_TIMEOUT, sizeof(GET_RX_TIMEOUT));
>  
>  	return 0;
>  }
> @@ -1030,7 +1087,7 @@ static int mceusb_set_rx_wideband(struct rc_dev *dev, int enable)
>  		ir->wideband_rx_enabled = false;
>  		cmdbuf[2] = 1;	/* port 1 is long range receiver */
>  	}
> -	mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +	mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  	/* response from device sets ir->learning_active */
>  
>  	return 0;
> @@ -1053,7 +1110,7 @@ static int mceusb_set_rx_carrier_report(struct rc_dev *dev, int enable)
>  		ir->carrier_report_enabled = true;
>  		if (!ir->learning_active) {
>  			cmdbuf[2] = 2;	/* port 2 is short range receiver */
> -			mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +			mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  		}
>  	} else {
>  		ir->carrier_report_enabled = false;
> @@ -1064,7 +1121,7 @@ static int mceusb_set_rx_carrier_report(struct rc_dev *dev, int enable)
>  		 */
>  		if (ir->learning_active && !ir->wideband_rx_enabled) {
>  			cmdbuf[2] = 1;	/* port 1 is long range receiver */
> -			mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +			mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  		}
>  	}
>  
> @@ -1143,6 +1200,7 @@ static void mceusb_handle_command(struct mceusb_dev *ir, int index)
>  		}
>  		break;
>  	case MCE_RSP_CMD_ILLEGAL:
> +	case MCE_RSP_TX_TIMEOUT:
>  		ir->need_reset = true;
>  		break;
>  	default:
> @@ -1280,7 +1338,7 @@ static void mceusb_get_emulator_version(struct mceusb_dev *ir)
>  {
>  	/* If we get no reply or an illegal command reply, its ver 1, says MS */
>  	ir->emver = 1;
> -	mce_async_out(ir, GET_EMVER, sizeof(GET_EMVER));
> +	mce_command_out(ir, GET_EMVER, sizeof(GET_EMVER));
>  }
>  
>  static void mceusb_gen1_init(struct mceusb_dev *ir)
> @@ -1326,10 +1384,10 @@ static void mceusb_gen1_init(struct mceusb_dev *ir)
>  	dev_dbg(dev, "set handshake  - retC = %d", ret);
>  
>  	/* device resume */
> -	mce_async_out(ir, DEVICE_RESUME, sizeof(DEVICE_RESUME));
> +	mce_command_out(ir, DEVICE_RESUME, sizeof(DEVICE_RESUME));
>  
>  	/* get hw/sw revision? */
> -	mce_async_out(ir, GET_REVISION, sizeof(GET_REVISION));
> +	mce_command_out(ir, GET_REVISION, sizeof(GET_REVISION));
>  
>  	kfree(data);
>  }
> @@ -1337,13 +1395,13 @@ static void mceusb_gen1_init(struct mceusb_dev *ir)
>  static void mceusb_gen2_init(struct mceusb_dev *ir)
>  {
>  	/* device resume */
> -	mce_async_out(ir, DEVICE_RESUME, sizeof(DEVICE_RESUME));
> +	mce_command_out(ir, DEVICE_RESUME, sizeof(DEVICE_RESUME));
>  
>  	/* get wake version (protocol, key, address) */
> -	mce_async_out(ir, GET_WAKEVERSION, sizeof(GET_WAKEVERSION));
> +	mce_command_out(ir, GET_WAKEVERSION, sizeof(GET_WAKEVERSION));
>  
>  	/* unknown what this one actually returns... */
> -	mce_async_out(ir, GET_UNKNOWN2, sizeof(GET_UNKNOWN2));
> +	mce_command_out(ir, GET_UNKNOWN2, sizeof(GET_UNKNOWN2));
>  }
>  
>  static void mceusb_get_parameters(struct mceusb_dev *ir)
> @@ -1357,24 +1415,24 @@ static void mceusb_get_parameters(struct mceusb_dev *ir)
>  	ir->num_rxports = 2;
>  
>  	/* get number of tx and rx ports */
> -	mce_async_out(ir, GET_NUM_PORTS, sizeof(GET_NUM_PORTS));
> +	mce_command_out(ir, GET_NUM_PORTS, sizeof(GET_NUM_PORTS));
>  
>  	/* get the carrier and frequency */
> -	mce_async_out(ir, GET_CARRIER_FREQ, sizeof(GET_CARRIER_FREQ));
> +	mce_command_out(ir, GET_CARRIER_FREQ, sizeof(GET_CARRIER_FREQ));
>  
>  	if (ir->num_txports && !ir->flags.no_tx)
>  		/* get the transmitter bitmask */
> -		mce_async_out(ir, GET_TX_BITMASK, sizeof(GET_TX_BITMASK));
> +		mce_command_out(ir, GET_TX_BITMASK, sizeof(GET_TX_BITMASK));
>  
>  	/* get receiver timeout value */
> -	mce_async_out(ir, GET_RX_TIMEOUT, sizeof(GET_RX_TIMEOUT));
> +	mce_command_out(ir, GET_RX_TIMEOUT, sizeof(GET_RX_TIMEOUT));
>  
>  	/* get receiver sensor setting */
> -	mce_async_out(ir, GET_RX_SENSOR, sizeof(GET_RX_SENSOR));
> +	mce_command_out(ir, GET_RX_SENSOR, sizeof(GET_RX_SENSOR));
>  
>  	for (i = 0; i < ir->num_txports; i++) {
>  		cmdbuf[2] = i;
> -		mce_async_out(ir, cmdbuf, sizeof(cmdbuf));
> +		mce_command_out(ir, cmdbuf, sizeof(cmdbuf));
>  	}
>  }
>  
> @@ -1383,7 +1441,7 @@ static void mceusb_flash_led(struct mceusb_dev *ir)
>  	if (ir->emver < 2)
>  		return;
>  
> -	mce_async_out(ir, FLASH_LED, sizeof(FLASH_LED));
> +	mce_command_out(ir, FLASH_LED, sizeof(FLASH_LED));
>  }
>  
>  /*

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

  reply	other threads:[~2019-10-04 10:12 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-03 15:51 [PATCH 4.19 000/211] 4.19.77-stable review Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 001/211] arcnet: provide a buffer big enough to actually receive packets Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 002/211] cdc_ncm: fix divide-by-zero caused by invalid wMaxPacketSize Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 003/211] macsec: drop skb sk before calling gro_cells_receive Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 004/211] net/phy: fix DP83865 10 Mbps HDX loopback disable function Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 005/211] net: qrtr: Stop rx_worker before freeing node Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 006/211] net/sched: act_sample: dont push mac header on ip6gre ingress Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 007/211] net_sched: add max len check for TCA_KIND Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 008/211] nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 009/211] openvswitch: change type of UPCALL_PID attribute to NLA_UNSPEC Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 010/211] ppp: Fix memory leak in ppp_write Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 011/211] sch_netem: fix a divide by zero in tabledist() Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 012/211] skge: fix checksum byte order Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 013/211] usbnet: ignore endpoints with invalid wMaxPacketSize Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 014/211] usbnet: sanity checking of packet sizes and device mtu Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 015/211] net: sched: fix possible crash in tcf_action_destroy() Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 016/211] tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 017/211] net/mlx5: Add device ID of upcoming BlueField-2 Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 018/211] mISDN: enforce CAP_NET_RAW for raw sockets Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 019/211] appletalk: " Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 020/211] ax25: " Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 021/211] ieee802154: " Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 022/211] nfc: " Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 023/211] nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 024/211] ALSA: hda: Flush interrupts on disabling Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 025/211] regulator: lm363x: Fix off-by-one n_voltages for lm3632 ldo_vpos/ldo_vneg Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 026/211] ASoC: tlv320aic31xx: suppress error message for EPROBE_DEFER Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 027/211] ASoC: sgtl5000: Fix of unmute outputs on probe Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 028/211] ASoC: sgtl5000: Fix charge pump source assignment Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 029/211] firmware: qcom_scm: Use proper types for dma mappings Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 030/211] dmaengine: bcm2835: Print error in case setting DMA mask fails Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 031/211] leds: leds-lp5562 allow firmware files up to the maximum length Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 032/211] media: dib0700: fix link error for dibx000_i2c_set_speed Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 033/211] media: mtk-cir: lower de-glitch counter for rc-mm protocol Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 034/211] media: exynos4-is: fix leaked of_node references Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 035/211] media: hdpvr: Add device num check and handling Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 036/211] media: i2c: ov5640: Check for devm_gpiod_get_optional() error Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 037/211] time/tick-broadcast: Fix tick_broadcast_offline() lockdep complaint Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 038/211] sched/fair: Fix imbalance due to CPU affinity Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 039/211] sched/core: Fix CPU controller for !RT_GROUP_SCHED Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 040/211] x86/apic: Make apic_pending_intr_clear() more robust Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 041/211] sched/deadline: Fix bandwidth accounting at all levels after offline migration Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 042/211] x86/reboot: Always use NMI fallback when shutdown via reboot vector IPI fails Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 043/211] x86/apic: Soft disable APIC before initializing it Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 044/211] ALSA: hda - Show the fatal CORB/RIRB error more clearly Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 045/211] ALSA: i2c: ak4xxx-adda: Fix a possible null pointer dereference in build_adc_controls() Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 046/211] EDAC/mc: Fix grain_bits calculation Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 047/211] media: iguanair: add sanity checks Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 048/211] base: soc: Export soc_device_register/unregister APIs Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 049/211] ALSA: usb-audio: Skip bSynchAddress endpoint check if it is invalid Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 050/211] ia64:unwind: fix double free for mod->arch.init_unw_table Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 051/211] EDAC/altera: Use the proper type for the IRQ status bits Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 052/211] ASoC: rsnd: dont call clk_get_rate() under atomic context Greg Kroah-Hartman
2019-10-03 15:51 ` [PATCH 4.19 053/211] arm64/prefetch: fix a -Wtype-limits warning Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 054/211] md/raid1: end bio when the device faulty Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 055/211] md: dont call spare_active in md_reap_sync_thread if all member devices cant work Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 056/211] md: dont set In_sync if array is frozen Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 057/211] media: media/platform: fsl-viu.c: fix build for MICROBLAZE Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 058/211] RAS: Fix prototype warnings Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 059/211] ACPI / processor: dont print errors for processorIDs == 0xff Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 060/211] loop: Add LOOP_SET_DIRECT_IO to compat ioctl Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 061/211] EDAC, pnd2: Fix ioremap() size in dnv_rd_reg() Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 062/211] efi: cper: print AER info of PCIe fatal error Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 063/211] firmware: arm_scmi: Check if platform has released shmem before using Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 064/211] sched/fair: Use rq_lock/unlock in online_fair_sched_group Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 065/211] idle: Prevent late-arriving interrupts from disrupting offline Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 066/211] media: gspca: zero usb_buf on error Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 067/211] perf config: Honour $PERF_CONFIG env var to specify alternate .perfconfig Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 068/211] perf test vfs_getname: Disable ~/.perfconfig to get default output Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 069/211] media: mtk-mdp: fix reference count on old device tree Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 070/211] media: fdp1: Reduce FCP not found message level to debug Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 071/211] media: em28xx: modules workqueue not inited for 2nd device Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 072/211] media: rc: imon: Allow iMON RC protocol for ffdc 7e device Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 073/211] dmaengine: iop-adma: use correct printk format strings Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 074/211] perf record: Support aarch64 random socket_id assignment Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 075/211] media: vsp1: fix memory leak of dl on error return path Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 076/211] media: i2c: ov5645: Fix power sequence Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 077/211] media: omap3isp: Dont set streaming state on random subdevs Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 078/211] media: imx: mipi csi-2: Dont fail if initial state times-out Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 079/211] net: lpc-enet: fix printk format strings Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 080/211] m68k: Prevent some compiler warnings in Coldfire builds Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 081/211] ARM: dts: imx7d: cl-som-imx7: make ethernet work again Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 082/211] ARM: dts: imx7-colibri: disable HS400 Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 083/211] media: radio/si470x: kill urb on error Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 084/211] media: hdpvr: add terminating 0 at end of string Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 085/211] ASoC: uniphier: Fix double reset assersion when transitioning to suspend state Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 086/211] tools headers: Fixup bitsperlong per arch includes Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 087/211] ASoC: sun4i-i2s: Dont use the oversample to calculate BCLK Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 088/211] led: triggers: Fix a memory leak bug Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 089/211] nbd: add missing config put Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 090/211] media: mceusb: fix (eliminate) TX IR signal length limit Greg Kroah-Hartman
2019-10-04 10:12   ` Pavel Machek [this message]
2019-10-04 13:47     ` Sasha Levin
2019-10-03 15:52 ` [PATCH 4.19 091/211] media: dvb-frontends: use ida for pll number Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 092/211] posix-cpu-timers: Sanitize bogus WARNONS Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 093/211] media: dvb-core: fix a memory leak bug Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 094/211] libperf: Fix alignment trap with xyarray contents in perf stat Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 095/211] EDAC/amd64: Recognize DRAM device type ECC capability Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 096/211] EDAC/amd64: Decode syndrome before translating address Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 097/211] PM / devfreq: passive: Use non-devm notifiers Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 098/211] PM / devfreq: exynos-bus: Correct clock enable sequence Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 099/211] media: cec-notifier: clear cec_adap in cec_notifier_unregister Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 100/211] media: saa7146: add cleanup in hexium_attach() Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 101/211] media: cpia2_usb: fix memory leaks Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 102/211] media: saa7134: fix terminology around saa7134_i2c_eeprom_md7134_gate() Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 103/211] perf trace beauty ioctl: Fix off-by-one error in cmd->string table Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 104/211] media: ov9650: add a sanity check Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 105/211] ASoC: es8316: fix headphone mixer volume table Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 106/211] ACPI / CPPC: do not require the _PSD method Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 107/211] sched/cpufreq: Align trace event behavior of fast switching Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 108/211] x86/apic/vector: Warn when vector space exhaustion breaks affinity Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 109/211] arm64: kpti: ensure patched kernel text is fetched from PoU Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 110/211] x86/mm/pti: Do not invoke PTI functions when PTI is disabled Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 111/211] ASoC: fsl_ssi: Fix clock control issue in master mode Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 112/211] x86/mm/pti: Handle unaligned address gracefully in pti_clone_pagetable() Greg Kroah-Hartman
2019-10-03 15:52 ` [PATCH 4.19 113/211] nvmet: fix data units read and written counters in SMART log Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 114/211] nvme-multipath: fix ana log nsid lookup when nsid is not found Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 115/211] ALSA: firewire-motu: add support for MOTU 4pre Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 116/211] iommu/amd: Silence warnings under memory pressure Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 117/211] libata/ahci: Drop PCS quirk for Denverton and beyond Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 118/211] iommu/iova: Avoid false sharing on fq_timer_on Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 119/211] libtraceevent: Change users plugin directory Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 120/211] ARM: dts: exynos: Mark LDO10 as always-on on Peach Pit/Pi Chromebooks Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 121/211] ACPI: custom_method: fix memory leaks Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 122/211] ACPI / PCI: fix acpi_pci_irq_enable() memory leak Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 123/211] closures: fix a race on wakeup from closure_sync Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 124/211] hwmon: (acpi_power_meter) Change log level for unsafe software power cap Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 125/211] md/raid1: fail run raid1 array when active disk less than one Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 126/211] dmaengine: ti: edma: Do not reset reserved paRAM slots Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 127/211] kprobes: Prohibit probing on BUG() and WARN() address Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 128/211] s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 129/211] x86/cpu: Add Tiger Lake to Intel family Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 130/211] platform/x86: intel_pmc_core: Do not ioremap RAM Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 131/211] ASoC: dmaengine: Make the pcm->name equal to pcm->id if the name is not set Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 132/211] raid5: dont set STRIPE_HANDLE to stripe which is in batch list Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 133/211] mmc: core: Clarify sdio_irq_pending flag for MMC_CAP2_SDIO_IRQ_NOTHREAD Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 134/211] mmc: sdhci: Fix incorrect switch to HS mode Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 135/211] mmc: core: Add helper function to indicate if SDIO IRQs is enabled Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 136/211] mmc: dw_mmc: Re-store SDIO IRQs mask at system resume Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 137/211] raid5: dont increment read_errors on EILSEQ return Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 138/211] libertas: Add missing sentinel at end of if_usb.c fw_table Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 139/211] e1000e: add workaround for possible stalled packet Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 140/211] ALSA: hda - Drop unsol event handler for Intel HDMI codecs Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 141/211] drm/amd/powerplay/smu7: enforce minimal VBITimeout (v2) Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 142/211] media: ttusb-dec: Fix info-leak in ttusb_dec_send_command() Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 143/211] ALSA: hda/realtek - Blacklist PC beep for Lenovo ThinkCentre M73/93 Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 144/211] iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 145/211] btrfs: extent-tree: Make sure we only allocate extents from block groups with the same type Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 146/211] media: omap3isp: Set device on omap3isp subdevs Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 147/211] PM / devfreq: passive: fix compiler warning Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 148/211] iwlwifi: fw: dont send GEO_TX_POWER_LIMIT command to FW version 36 Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 149/211] ALSA: firewire-tascam: handle error code when getting current source of clock Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 150/211] ALSA: firewire-tascam: check intermediate state of clock status and retry Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 151/211] scsi: scsi_dh_rdac: zero cdb in send_mode_select() Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 152/211] scsi: qla2xxx: Fix Relogin to prevent modifying scan_state flag Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 153/211] printk: Do not lose last line in kmsg buffer dump Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 154/211] IB/mlx5: Free mpi in mp_slave mode Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 155/211] IB/hfi1: Define variables as unsigned long to fix KASAN warning Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 156/211] randstruct: Check member structs in is_pure_ops_struct() Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 157/211] Revert "ceph: use ceph_evict_inode to cleanup inodes resource" Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 158/211] ceph: use ceph_evict_inode to cleanup inodes resource Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 159/211] ALSA: hda/realtek - PCI quirk for Medion E4254 Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 160/211] blk-mq: add callback of .cleanup_rq Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 161/211] scsi: implement .cleanup_rq callback Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 162/211] powerpc/imc: Dont create debugfs files for cpu-less nodes Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 163/211] fuse: fix missing unlock_page in fuse_writepage() Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 164/211] parisc: Disable HP HSC-PCI Cards to prevent kernel crash Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 165/211] KVM: x86: always stop emulation on page fault Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 166/211] KVM: x86: set ctxt->have_exception in x86_decode_insn() Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 167/211] KVM: x86: Manually calculate reserved bits when loading PDPTRS Greg Kroah-Hartman
2019-11-11  9:32   ` Thomas Lamprecht
2019-11-11 17:37     ` Sean Christopherson
2019-11-11 17:48       ` Greg Kroah-Hartman
2019-11-11 17:57         ` Sean Christopherson
2019-11-11 18:08           ` Greg Kroah-Hartman
2019-11-12  0:25             ` Sean Christopherson
2019-10-03 15:53 ` [PATCH 4.19 168/211] media: sn9c20x: Add MSI MS-1039 laptop to flip_dmi_table Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 169/211] media: dont drop front-end reference count for ->detach Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 170/211] binfmt_elf: Do not move brk for INTERP-less ET_EXEC Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 171/211] ASoC: Intel: NHLT: Fix debug print format Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 172/211] ASoC: Intel: Skylake: Use correct function to access iomem space Greg Kroah-Hartman
2019-10-03 15:53 ` [PATCH 4.19 173/211] ASoC: Intel: Fix use of potentially uninitialized variable Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 174/211] ARM: samsung: Fix system restart on S3C6410 Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 175/211] ARM: zynq: Use memcpy_toio instead of memcpy on smp bring-up Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 176/211] Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 177/211] arm64: tlb: Ensure we execute an ISB following walk cache invalidation Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 178/211] arm64: dts: rockchip: limit clock rate of MMC controllers for RK3328 Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 179/211] alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 180/211] regulator: Defer init completion for a while after late_initcall Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 181/211] efifb: BGRT: Improve efifb_bgrt_sanity_check Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 182/211] gfs2: clear buf_in_tr when ending a transaction in sweep_bh_for_rgrps Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 183/211] memcg, oom: dont require __GFP_FS when invoking memcg OOM killer Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 184/211] memcg, kmem: do not fail __GFP_NOFAIL charges Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 185/211] i40e: check __I40E_VF_DISABLE bit in i40e_sync_filters_subtask Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 186/211] block: fix null pointer dereference in blk_mq_rq_timed_out() Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 187/211] smb3: allow disabling requesting leases Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 188/211] ovl: Fix dereferencing possible ERR_PTR() Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 189/211] ovl: filter of trusted xattr results in audit Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 190/211] btrfs: fix allocation of free space cache v1 bitmap pages Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 191/211] Btrfs: fix use-after-free when using the tree modification log Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 192/211] btrfs: Relinquish CPUs in btrfs_compare_trees Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 193/211] btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 194/211] btrfs: qgroup: Fix reserved data space leak if we have multiple reserve calls Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 195/211] Btrfs: fix race setting up and completing qgroup rescan workers Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 196/211] md/raid6: Set R5_ReadError when there is read failure on parity disk Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 197/211] md: dont report active array_state until after revalidate_disk() completes Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 198/211] md: only call set_in_sync() when it is expected to succeed Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 199/211] cfg80211: Purge frame registrations on iftype change Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 200/211] /dev/mem: Bail out upon SIGKILL Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 201/211] ext4: fix warning inside ext4_convert_unwritten_extents_endio Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 202/211] ext4: fix punch hole for inline_data file systems Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 203/211] quota: fix wrong condition in is_quota_modification() Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 204/211] hwrng: core - dont wait on add_early_randomness() Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 205/211] i2c: riic: Clear NACK in tend isr Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 206/211] CIFS: fix max ea value size Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 207/211] CIFS: Fix oplock handling for SMB 2.1+ protocols Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 208/211] md/raid0: avoid RAID0 data corruption due to layout confusion Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 209/211] fuse: fix deadlock with aio poll and fuse_iqueue::waitq.lock Greg Kroah-Hartman
2019-10-03 19:48   ` Eric Biggers
2019-10-04  8:00     ` Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 210/211] mm/compaction.c: clear total_{migrate,free}_scanned before scanning a new zone Greg Kroah-Hartman
2019-10-03 15:54 ` [PATCH 4.19 211/211] drm/amd/display: Restore backlight brightness after system resume Greg Kroah-Hartman
2019-10-03 19:02 ` [PATCH 4.19 000/211] 4.19.77-stable review François Valenduc
2019-10-03 19:08   ` Greg Kroah-Hartman
2019-10-03 19:09     ` François Valenduc
2019-10-03 19:10   ` Greg Kroah-Hartman
2019-10-03 19:18     ` François Valenduc
2019-10-03 19:20     ` Greg Kroah-Hartman
2019-10-03 20:05       ` Greg Kroah-Hartman
2019-10-03 20:11         ` François Valenduc
2019-10-03 22:40 ` kernelci.org bot
2019-10-03 23:52 ` shuah
2019-10-04  7:38 ` Jon Hunter
2019-10-04 15:12 ` Dan Rue
2019-10-04 22:58 ` 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=20191004101215.GB24970@amd \
    --to=pavel@denx.de \
    --cc=as1033x@comcast.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab+samsung@kernel.org \
    --cc=sashal@kernel.org \
    --cc=sean@mess.org \
    --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).