Hi Shikha,

On Tue, May 02, 2017 at 02:03:39AM -0400, Shikha Singh wrote:
> +static int nfcst_in_send_cmd(struct nfc_digital_dev *ddev,
> +                          struct sk_buff *skb,
> +                          u16 timeout,
> +                          nfc_digital_cmd_complete_t cb,
> +                          void *arg)
> +{
> +     struct nfcst_context *context = nfc_digital_get_drvdata(ddev);
> +     int rc;
> +     int len_data_to_tag = 0;
> +
> +     if (!context->nfcst_power)
> +             return -EIO;
> +
> +     /*
> +      * down the semaphore to indicate that last nfcst_in_send_cmd()
> +      * call is pending, If interrupted, WARN and return !
> +      */
> +     rc = down_killable(&context->exchange_lock);
> +     if (rc) {
> +             WARN(1, "Semaphore wait is interrupted in nfcst_in_send_cmd\n");
> +             return rc;
> +     }
> +
> +     if (context->trig_config) {
> +             context->trig_config = false;
> +             rc = nfcst_handle_config_fdt(context, false);
> +             if (rc) {
> +                     dev_err(&context->nfcdev->dev, "config fdt failed from 
> nfcst_in_send_cmd %d\n",
> +                             rc);
> +                     return rc;
> +             }
> +     }
> +
> +     switch (context->current_rf_tech) {
> +     case NFC_DIGITAL_RF_TECH_106A:
> +             len_data_to_tag = skb->len + 1;
> +             *skb_put(skb, 1) = context->sendrcv_trflag;
You can't dereference a void pointer. Please fix that as it will most
likely break the build.

Cheers,
Samuel.

Reply via email to