Thread (15 messages) 15 messages, 5 authors, 2020-10-16

Re: [PATCH v1 1/6] staging: qlge: Initialize devlink health dump framework for the dlge driver

flat view

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2020-10-08 12:23:26
Also in: lkml

On Thu, Oct 8, 2020 at 7:58 AM Coiby Xu [off-list ref] wrote:
Initialize devlink health dump framework for the dlge driver so the
coredump could be done via devlink.

Signed-off-by: Coiby Xu <redacted>
quoted hunk ↗ jump to hunk
@@ -4556,6 +4559,13 @@ static int qlge_probe(struct pci_dev *pdev,
        struct ql_adapter *qdev = NULL;
        static int cards_found;
        int err = 0;
+       struct devlink *devlink;
+       struct qlge_devlink *ql_devlink;
+
+       devlink = devlink_alloc(&qlge_devlink_ops, sizeof(struct qlge_devlink));
+       if (!devlink)
+               return -ENOMEM;
+       ql_devlink = devlink_priv(devlink);

        ndev = alloc_etherdev_mq(sizeof(struct ql_adapter),
                                 min(MAX_CPUS,
need to goto devlink_free instead of return -ENOMEM here, too.
quoted hunk ↗ jump to hunk
@@ -4614,6 +4624,16 @@ static int qlge_probe(struct pci_dev *pdev,
                free_netdev(ndev);
                return err;
and here
quoted hunk ↗ jump to hunk
        }
+
+       err = devlink_register(devlink, &pdev->dev);
+       if (err) {
+               goto devlink_free;
+       }
+
+       qlge_health_create_reporters(ql_devlink);
+       ql_devlink->qdev = qdev;
+       ql_devlink->ndev = ndev;
+       qdev->ql_devlink = ql_devlink;
        /* Start up the timer to trigger EEH if
         * the bus goes dead
         */
@@ -4624,6 +4644,10 @@ static int qlge_probe(struct pci_dev *pdev,
        atomic_set(&qdev->lb_count, 0);
        cards_found++;
        return 0;
+
+devlink_free:
+       devlink_free(devlink);
+       return err;
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help