Re: [PATCH v2 10/16] PCI: epf-test: Cleanup pci_epf_test_cmd_handler()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 08, 2023 at 06:03:07PM +0900, Damien Le Moal wrote:
> Command codes are never combined together as flags into a single value.
> Thus we can replace the series of "if" tests in
> pci_epf_test_cmd_handler() with a cleaner switch-case statement.
> This also allows checking that we got a valid command and print an error
> message if we did not.
> 
> Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>

Reviewed-by: Manivannan Sadhasivam <mani@xxxxxxxxxx>

Thanks,
Mani

> ---
>  drivers/pci/endpoint/functions/pci-epf-test.c | 30 +++++++++----------
>  1 file changed, 14 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
> index e0cf8c2bf6db..d1b5441391fb 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-test.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-test.c
> @@ -678,41 +678,39 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
>  		goto reset_handler;
>  	}
>  
> -	if ((command & COMMAND_RAISE_LEGACY_IRQ) ||
> -	    (command & COMMAND_RAISE_MSI_IRQ) ||
> -	    (command & COMMAND_RAISE_MSIX_IRQ)) {
> +	switch (command) {
> +	case COMMAND_RAISE_LEGACY_IRQ:
> +	case COMMAND_RAISE_MSI_IRQ:
> +	case COMMAND_RAISE_MSIX_IRQ:
>  		pci_epf_test_raise_irq(epf_test, reg);
> -		goto reset_handler;
> -	}
> -
> -	if (command & COMMAND_WRITE) {
> +		break;
> +	case COMMAND_WRITE:
>  		ret = pci_epf_test_write(epf_test, reg);
>  		if (ret)
>  			reg->status |= STATUS_WRITE_FAIL;
>  		else
>  			reg->status |= STATUS_WRITE_SUCCESS;
>  		pci_epf_test_raise_irq(epf_test, reg);
> -		goto reset_handler;
> -	}
> -
> -	if (command & COMMAND_READ) {
> +		break;
> +	case COMMAND_READ:
>  		ret = pci_epf_test_read(epf_test, reg);
>  		if (!ret)
>  			reg->status |= STATUS_READ_SUCCESS;
>  		else
>  			reg->status |= STATUS_READ_FAIL;
>  		pci_epf_test_raise_irq(epf_test, reg);
> -		goto reset_handler;
> -	}
> -
> -	if (command & COMMAND_COPY) {
> +		break;
> +	case COMMAND_COPY:
>  		ret = pci_epf_test_copy(epf_test, reg);
>  		if (!ret)
>  			reg->status |= STATUS_COPY_SUCCESS;
>  		else
>  			reg->status |= STATUS_COPY_FAIL;
>  		pci_epf_test_raise_irq(epf_test, reg);
> -		goto reset_handler;
> +		break;
> +	default:
> +		dev_err(dev, "Invalid command\n");
> +		break;
>  	}
>  
>  reset_handler:
> -- 
> 2.39.2
> 

-- 
மணிவண்ணன் சதாசிவம்



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux