On Tue, 14 Feb 2012 15:35:03 +0100, Danny Kukawka <danny.kuka...@bisect.de> 
wrote:
> Fix for:
> drivers/spi/spi-topcliff-pch.c: In function ‘pch_spi_handler_sub’:
> drivers/spi/spi-topcliff-pch.c:325:17: warning: ‘bpw_len’ may be
>   used uninitialized in this function [-Wuninitialized]
> drivers/spi/spi-topcliff-pch.c:325:42: warning: ‘rx_index’ may be
>   used uninitialized in this function [-Wuninitialized]
> drivers/spi/spi-topcliff-pch.c:325:42: warning: ‘tx_index’ may be
>   used uninitialized in this function [-Wuninitialized]
> 
> Move usage of tx_index, rx_index and bpw_len into the same
> block as where they are set to prevent uninitialized usage.
> 
> v2: instead of init variables with 0 move the whole block
> 
> Signed-off-by: Danny Kukawka <danny.kuka...@bisect.de>

Applied, thanks

g.

> ---
>  drivers/spi/spi-topcliff-pch.c |   33 +++++++++++++++----------------
>  1 files changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c
> index 10182eb..1107469 100644
> --- a/drivers/spi/spi-topcliff-pch.c
> +++ b/drivers/spi/spi-topcliff-pch.c
> @@ -318,22 +318,23 @@ static void pch_spi_handler_sub(struct pch_spi_data 
> *data, u32 reg_spsr_val,
>               data->tx_index = tx_index;
>               data->rx_index = rx_index;
>  
> -     }
> -
> -     /* if transfer complete interrupt */
> -     if (reg_spsr_val & SPSR_FI_BIT) {
> -             if ((tx_index == bpw_len) && (rx_index == tx_index)) {
> -                     /* disable interrupts */
> -                     pch_spi_setclr_reg(data->master, PCH_SPCR, 0, PCH_ALL);
> -
> -                     /* transfer is completed;
> -                        inform pch_spi_process_messages */
> -                     data->transfer_complete = true;
> -                     data->transfer_active = false;
> -                     wake_up(&data->wait);
> -             } else {
> -                     dev_err(&data->master->dev,
> -                             "%s : Transfer is not completed", __func__);
> +             /* if transfer complete interrupt */
> +             if (reg_spsr_val & SPSR_FI_BIT) {
> +                     if ((tx_index == bpw_len) && (rx_index == tx_index)) {
> +                             /* disable interrupts */
> +                             pch_spi_setclr_reg(data->master, PCH_SPCR, 0,
> +                                                PCH_ALL);
> +
> +                             /* transfer is completed;
> +                                inform pch_spi_process_messages */
> +                             data->transfer_complete = true;
> +                             data->transfer_active = false;
> +                             wake_up(&data->wait);
> +                     } else {
> +                             dev_err(&data->master->dev,
> +                                     "%s : Transfer is not completed",
> +                                     __func__);
> +                     }
>               }
>       }
>  }
> -- 
> 1.7.7.3
> 

-- 
Grant Likely, B.Sc, P.Eng.
Secret Lab Technologies,Ltd.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to