Commit 1fd4fb8c authored by Christian Gromm's avatar Christian Gromm Committed by Greg Kroah-Hartman
Browse files

staging: most: usb: replace code to calculate array index



This patch removes the expression that makes use of a priori knowledge
about channel numbers to calculate an array index.
The expression 'peer = 1 - channel' utilizes the fact that an USB interface
that operates on the asynchronous data of the Network only has two
endpoints. Hence, channel being 0 or 1. The replacement is more simple and
less confusing when reading the code.

Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/1590570387-27069-8-git-send-email-christian.gromm@microchip.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6405fe21
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -729,6 +729,8 @@ static void wq_clear_halt(struct work_struct *wq_obj)
	struct most_dev *mdev = clear_work->mdev;
	unsigned int channel = clear_work->channel;
	int pipe = clear_work->pipe;
	int snd_pipe;
	int peer;

	mutex_lock(&mdev->io_mutex);
	most_stop_enqueue(&mdev->iface, channel);
@@ -746,8 +748,11 @@ static void wq_clear_halt(struct work_struct *wq_obj)
	 */
	if (mdev->conf[channel].data_type == MOST_CH_ASYNC &&
	    mdev->conf[channel].direction == MOST_CH_RX) {
		int peer = 1 - channel;
		int snd_pipe = usb_sndbulkpipe(mdev->usb_device,
		if (channel == 0)
			peer = 1;
		else
			peer = 0;
		snd_pipe = usb_sndbulkpipe(mdev->usb_device,
					   mdev->ep_address[peer]);
		usb_clear_halt(mdev->usb_device, snd_pipe);
	}