| .. | .. |
|---|
| 151 | 151 | ret = -EREMOTEIO; |
|---|
| 152 | 152 | } else |
|---|
| 153 | 153 | ret = 0; |
|---|
| 154 | | - kfree_skb(skb); |
|---|
| 155 | 154 | } |
|---|
| 156 | 155 | |
|---|
| 157 | | - return ret; |
|---|
| 156 | + if (ret) { |
|---|
| 157 | + kfree_skb(skb); |
|---|
| 158 | + return ret; |
|---|
| 159 | + } |
|---|
| 160 | + |
|---|
| 161 | + consume_skb(skb); |
|---|
| 162 | + return 0; |
|---|
| 158 | 163 | } |
|---|
| 159 | 164 | |
|---|
| 160 | 165 | static void nfcmrvl_i2c_nci_update_config(struct nfcmrvl_private *priv, |
|---|
| .. | .. |
|---|
| 186 | 191 | pdata->irq_polarity = IRQF_TRIGGER_RISING; |
|---|
| 187 | 192 | |
|---|
| 188 | 193 | ret = irq_of_parse_and_map(node, 0); |
|---|
| 189 | | - if (ret < 0) { |
|---|
| 190 | | - pr_err("Unable to get irq, error: %d\n", ret); |
|---|
| 191 | | - return ret; |
|---|
| 194 | + if (!ret) { |
|---|
| 195 | + pr_err("Unable to get irq\n"); |
|---|
| 196 | + return -EINVAL; |
|---|
| 192 | 197 | } |
|---|
| 193 | 198 | pdata->irq = ret; |
|---|
| 194 | 199 | |
|---|
| .. | .. |
|---|
| 278 | 283 | .remove = nfcmrvl_i2c_remove, |
|---|
| 279 | 284 | .driver = { |
|---|
| 280 | 285 | .name = "nfcmrvl_i2c", |
|---|
| 281 | | - .owner = THIS_MODULE, |
|---|
| 282 | 286 | .of_match_table = of_match_ptr(of_nfcmrvl_i2c_match), |
|---|
| 283 | 287 | }, |
|---|
| 284 | 288 | }; |
|---|