qustion about eeh_add_virt_device

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

qustion about eeh_add_virt_device

Julia Lawall-2
Hello,

At the suggestion of Christoph Hellwig, I am working on inlining the
functions stored in the err_handler field of a pci_driver structure into
the pci_driver structure itself.  A number of functions in the file
arch/powerpc/kernel/eeh_driver.c have code like:

        if (!driver->err_handler ||
            !driver->err_handler->error_detected) {
                eeh_pcid_put(dev);
                return NULL;
        }

This I would just convert to:

        if (!driver->error_detected) {
                eeh_pcid_put(dev);
                return NULL;
        }

But I am not sure what is best to do about eeh_add_virt_device, which
contains:

                if (driver->err_handler)
                        return NULL;

Should I try to find a subfield of the err_handler that is guaranteed to
be there if anything is there?  Or could the test just be dropped, leaving
a direct return NULL?

thanks,
julia
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: qustion about eeh_add_virt_device

Russell Currey
On Sun, 2017-08-13 at 16:54 +0200, Julia Lawall wrote:
> Hello,

Hello, sorry for the delayed response.

>
> At the suggestion of Christoph Hellwig, I am working on inlining the
> functions stored in the err_handler field of a pci_driver structure into
> the pci_driver structure itself.  A number of functions in the file
> arch/powerpc/kernel/eeh_driver.c have code like:
>
>         if (!driver->err_handler ||
>             !driver->err_handler->error_detected) {
>                 eeh_pcid_put(dev);
>                 return NULL;
>         }
>
> This I would just convert to:
>
>         if (!driver->error_detected) {
>                 eeh_pcid_put(dev);
>                 return NULL;
>         }
>
> But I am not sure what is best to do about eeh_add_virt_device, which
> contains:
>
>                 if (driver->err_handler)
>        return NULL;
>
> Should I try to find a subfield of the err_handler that is guaranteed to
> be there if anything is there?  Or could the test just be dropped, leaving
> a direct return NULL?

I believe the test can be dropped.

- Russell

>
> thanks,
> julia

Loading...