[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: [PATCH] x86: check if desc->action is NULL when unbinding guest pirq



Keir Fraser wrote:
> On 22/01/2010 08:01, "Cui, Dexuan" <dexuan.cui@xxxxxxxxx> wrote:
> 
>> Before igb PF driver is unloaded, dom0 doesn't unload igbvf driver
>> automatically. When igb drver is unloaded, it invokes the
>> PHYSDEVOP_manage_pci_remove hypercall to remove the VFs and xen
>> frees the msi irqs by pci_cleanup_msi() -> ... ->
>> dynamic_irq_cleanup() and sets the desc->action to NULL. igbvf
>> driver knows the VF is disappearing via a hook ndo_stop() in
>> dev_close() and tries to unbind the pirq and xen would crash as the
>> desc->action  
>> is NULL now.
>> The patch adds the checking for this.
> 
> Although I checked this in as c/s 20844, I now wonder what the
> 'desc->status|IRQ_DISABLED' is included for? (e.g., see below
> extract:) 
> 
> + if (unlikely((desc->status | IRQ_DISABLED) && (desc->action ==
> NULL))) 
> 
> Looks pointless: should this just be 'if(desc->action==NULL)'?
(Sorry for the late reply as I was out for several days.)
Yes, I think so. Please improve it. :-)

Thanks,
-- Dexuan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.