Hello Amitoj Kaur Chawla,
The patch 3eced21a5afb: "staging: most: hdm-dim2: Replace request_irq
with devm_request_irq" from Feb 18, 2016, leads to the following
static checker warning:
drivers/staging/most/hdm-dim2/dim2_hdm.c:841 dim2_probe()
error: 'dev->netinfo_task' dereferencing possible ERR_PTR()
drivers/staging/most/hdm-dim2/dim2_hdm.c
737 struct kobject *kobj;
738
739 dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
740 if (!dev)
741 return -ENOMEM;
742
743 dev->atx_idx = -1;
744
745 platform_set_drvdata(pdev, dev);
746 #if defined(ENABLE_HDM_TEST)
747 test_dev = dev;
748 #else
749 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
750 dev->io_base = devm_ioremap_resource(&pdev->dev, res);
751 if (IS_ERR(dev->io_base))
752 return PTR_ERR(dev->io_base);
753
754 ret = platform_get_irq(pdev, 0);
755 if (ret < 0) {
756 dev_err(&pdev->dev, "failed to get irq\n");
757 return -ENODEV;
758 }
759 dev->irq_ahb0 = ret;
760
761 ret = devm_request_irq(&pdev->dev, dev->irq_ahb0, dim2_ahb_isr,
0,
762 "mlb_ahb0", dev);
763 if (ret) {
764 dev_err(&pdev->dev, "failed to request IRQ: %d, err:
%d\n",
765 dev->irq_ahb0, ret);
766 return ret;
767 }
768 #endif
769 init_waitqueue_head(&dev->netinfo_waitq);
770 dev->deliver_netinfo = 0;
771 dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void
*)dev,
772 "dim2_netinfo");
773 if (IS_ERR(dev->netinfo_task))
774 ret = PTR_ERR(dev->netinfo_task);
Presumably this should be "return PTR_ERR(dev->netinfo_task);" or do we
need to free something above?
775
776 for (i = 0; i < DMA_CHANNELS; i++) {
777 struct most_channel_capability *cap = dev->capabilities
+ i;
778 struct hdm_channel *hdm_ch = dev->hch + i;
regards,
dan carpenter
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel