Merge tag 'hsi-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 17 Dec 2022 14:55:19 +0000 (08:55 -0600)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 17 Dec 2022 14:55:19 +0000 (08:55 -0600)
Pull HSI updates from Sebastian Reichel:

 - misc small fixes

* tag 'hsi-for-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
  HSI: omap_ssi_core: Fix error handling in ssi_init()
  headers: Remove some left-over license text in include/uapi/linux/hsi/
  HSI: omap_ssi_core: fix possible memory leak in ssi_probe()
  HSI: omap_ssi_core: fix unbalanced pm_runtime_disable()
  HSI: ssi_protocol: Fix return type of ssip_pn_xmit()

drivers/hsi/clients/ssi_protocol.c
drivers/hsi/controllers/omap_ssi_core.c
include/uapi/linux/hsi/cs-protocol.h
include/uapi/linux/hsi/hsi_char.h

index 274ad8443f8c282dea6af460cfa71af763dea766..38e572faff4357808d80df9cf25571651337deb6 100644 (file)
@@ -968,7 +968,7 @@ static void ssip_xmit_work(struct work_struct *work)
        ssip_xmit(cl);
 }
 
-static int ssip_pn_xmit(struct sk_buff *skb, struct net_device *dev)
+static netdev_tx_t ssip_pn_xmit(struct sk_buff *skb, struct net_device *dev)
 {
        struct hsi_client *cl = to_hsi_client(dev->dev.parent);
        struct ssi_protocol *ssi = hsi_client_drvdata(cl);
@@ -1027,7 +1027,7 @@ static int ssip_pn_xmit(struct sk_buff *skb, struct net_device *dev)
        dev->stats.tx_packets++;
        dev->stats.tx_bytes += skb->len;
 
-       return 0;
+       return NETDEV_TX_OK;
 drop2:
        hsi_free_msg(msg);
 drop:
@@ -1035,7 +1035,7 @@ drop:
 inc_dropped:
        dev->stats.tx_dropped++;
 
-       return 0;
+       return NETDEV_TX_OK;
 }
 
 /* CMT reset event handler */
index eb982015831858b7725f85c26bce24f9c2f9c98f..26f2c3c0129783e045e7d26243a9a1493e81d976 100644 (file)
@@ -502,8 +502,10 @@ static int ssi_probe(struct platform_device *pd)
        platform_set_drvdata(pd, ssi);
 
        err = ssi_add_controller(ssi, pd);
-       if (err < 0)
+       if (err < 0) {
+               hsi_put_controller(ssi);
                goto out1;
+       }
 
        pm_runtime_enable(&pd->dev);
 
@@ -536,9 +538,9 @@ out3:
        device_for_each_child(&pd->dev, NULL, ssi_remove_ports);
 out2:
        ssi_remove_controller(ssi);
+       pm_runtime_disable(&pd->dev);
 out1:
        platform_set_drvdata(pd, NULL);
-       pm_runtime_disable(&pd->dev);
 
        return err;
 }
@@ -629,7 +631,13 @@ static int __init ssi_init(void) {
        if (ret)
                return ret;
 
-       return platform_driver_register(&ssi_port_pdriver);
+       ret = platform_driver_register(&ssi_port_pdriver);
+       if (ret) {
+               platform_driver_unregister(&ssi_pdriver);
+               return ret;
+       }
+
+       return 0;
 }
 module_init(ssi_init);
 
index c7f6e7672cb597e573a5cb8a36db49a21545375f..07c3bfb67463754690e8c7d33225293cc6d9f5ce 100644 (file)
@@ -6,20 +6,6 @@
  *
  * Contact: Kai Vehmanen <kai.vehmanen@nokia.com>
  * Original author: Peter Ujfalusi <peter.ujfalusi@nokia.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
  */
 
 #ifndef _CS_PROTOCOL_H
index 91623b0398b1b7c80eb5ee29084fd35348976329..5ef72f0daf947b146fbae2fccbd1c125dabd814f 100644 (file)
@@ -5,20 +5,6 @@
  * Copyright (C) 2010 Nokia Corporation. All rights reserved.
  *
  * Contact: Andras Domokos <andras.domokos at nokia.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
  */
 
 #ifndef __HSI_CHAR_H