i915: cleanup pageflip derefs sarea even if no sarea exists

main
Dave Airlie 2007-11-09 11:30:50 +10:00
parent e9805de5c7
commit d983ed90cb
1 changed files with 4 additions and 2 deletions

View File

@ -1070,10 +1070,12 @@ out_free:
int i915_do_cleanup_pageflip(struct drm_device * dev)
{
struct drm_i915_private *dev_priv = dev->dev_private;
int i, planes, num_pages = dev_priv->sarea_priv->third_handle ? 3 : 2;
int i, planes, num_pages;
DRM_DEBUG("%s\n", __FUNCTION__);
if (!dev_priv->sarea_priv)
return 0;
num_pages = dev_priv->sarea_priv->third_handle ? 3 : 2;
for (i = 0, planes = 0; i < 2; i++) {
if (dev_priv->sarea_priv->pf_current_page & (0x3 << (2 * i))) {
dev_priv->sarea_priv->pf_current_page =