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

[Xen-devel] Re: [PATCH] ioemu: Fix the segmentation fault on assigning device without PM cap.



On Thu, Feb 19, 2009 at 02:04:07PM +0900, Yuji Shimada wrote:
> This patch fixes the segmentation fault on assigning device without
> Power Management Capability Structure.
> 
> Please apply this patch after applying the following patch I have
> submitted.
> 
>     [PATCH] ioemu: Cleanup the code of PCI passthrough.

Hi Shimada-san,

thanks for the patch, I can confirm that it resolves the problem that
I was seeing.

Tested-by: Simon Horman <horms@xxxxxxxxxxxx>

> Signed-off-by: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx>
> 
> 
> diff --git a/hw/pass-through.c b/hw/pass-through.c
> index 855f69c..305ea59 100644
> --- a/hw/pass-through.c
> +++ b/hw/pass-through.c
> @@ -1165,7 +1165,7 @@ static void pt_pci_write_config(PCIDevice *d, uint32_t 
> address, uint32_t val,
>      }
>  
>      /* check power state transition flags */
> -    if (pm_state->flags & PT_FLAG_TRANSITING)
> +    if (pm_state != NULL && pm_state->flags & PT_FLAG_TRANSITING)
>          /* can't accept untill previous power state transition is completed.
>           * so finished previous request here.
>           */
> @@ -1280,7 +1280,7 @@ out:
>      if (!ret)
>          PT_LOG("Error: pci_write_block failed. return value[%d].\n", ret);
>  
> -    if (pm_state->flags & PT_FLAG_TRANSITING)
> +    if (pm_state != NULL && pm_state->flags & PT_FLAG_TRANSITING)
>          /* set QEMUTimer */
>          qemu_mod_timer(pm_state->pm_timer,
>              (qemu_get_clock(rt_clock) + pm_state->pm_delay));
> @@ -1337,7 +1337,7 @@ static uint32_t pt_pci_read_config(PCIDevice *d, 
> uint32_t address, int len)
>      }
>  
>      /* check power state transition flags */
> -    if (pm_state->flags & PT_FLAG_TRANSITING)
> +    if (pm_state != NULL && pm_state->flags & PT_FLAG_TRANSITING)
>          /* can't accept untill previous power state transition is completed.
>           * so finished previous request here.
>           */

-- 
Simon Horman
  VA Linux Systems Japan K.K., Sydney, Australia Satellite Office
  H: www.vergenet.net/~horms/             W: www.valinux.co.jp/en


_______________________________________________
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®.