Subject: Re: [PATCH v2.1 21/22] fjes: handle receive cancellation request interrupt

From: Sergei Shtylyov <[email-masked]>
Date: Thu, 23 Jul 2015 16:06:01 +0300

Hello.

On 7/23/2015 3:10 AM, Taku Izumi wrote:

> This patch adds implementation of handling IRQ
> of other receiver's receive cancellation request.

> Signed-off-by: Taku Izumi <[email-masked]>
> ---
>   drivers/net/fjes/fjes_main.c | 79 ++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 79 insertions(+)
>
> diff --git a/drivers/net/fjes/fjes_main.c b/drivers/net/fjes/fjes_main.c
> index faaf2ed..b21ad68 100644
> --- a/drivers/net/fjes/fjes_main.c
> +++ b/drivers/net/fjes/fjes_main.c
> @@ -822,6 +822,75 @@ static int fjes_vlan_rx_kill_vid(struct net_device *netdev,
>   	return 0;
>   }
>
> +static void fjes_txrx_stop_req_irq(struct fjes_adapter *adapter,
> +				   int src_epid)
> +{
> +	struct fjes_hw *hw = &adapter->hw;
> +	enum ep_partner_status status;
> +
> +	status = fjes_hw_get_partner_ep_status(hw, src_epid);
> +	switch (status) {
> +	case EP_PARTNER_UNSHARE:
> +	default:
> +		break;
> +	case EP_PARTNER_COMPLETE:
> +		break;

    Why this *case* isn't merged with the above ones?

> +	case EP_PARTNER_WAITING:
> +		if (src_epid < hw->my_epid) {
> +			hw->ep_shm_info[src_epid].tx.info->v1i.rx_status |=
> +				FJES_RX_STOP_REQ_DONE;
> +
> +			clear_bit(src_epid, &hw->txrx_stop_req_bit);
> +			set_bit(src_epid, &adapter->unshare_watch_bitmask);
> +
> +			if (!work_pending(&adapter->unshare_watch_task))
> +				queue_work(adapter->control_wq,
> +					   &adapter->unshare_watch_task);
> +		}
> +		break;
> +	case EP_PARTNER_SHARED:
> +		if (hw->ep_shm_info[src_epid].rx.info->v1i.rx_status
> +				& FJES_RX_STOP_REQ_REQUEST) {

    Please leave the & operator on the first line and start the second line 
right under 'hw' on the first.

[...]

MBR, Sergei