Fix a crash in i830_sdvo_init error paths by setting up dev_priv earlier.

This commit is contained in:
Eric Anholt 2008-06-19 15:01:00 -07:00
parent 65ad29d787
commit 6b6be2b2a7
1 changed files with 3 additions and 2 deletions

View File

@ -1527,10 +1527,12 @@ i830_sdvo_init(ScrnInfoPtr pScrn, int output_device)
return FALSE;
}
output->driver_private = intel_output;
dev_priv = (struct i830_sdvo_priv *) (intel_output + 1);
intel_output->dev_priv = dev_priv;
output->interlaceAllowed = FALSE;
output->doubleScanAllowed = FALSE;
dev_priv = (struct i830_sdvo_priv *) (intel_output + 1);
intel_output->type = I830_OUTPUT_SDVO;
intel_output->pipe_mask = ((1 << 0) | (1 << 1));
intel_output->clone_mask = (1 << I830_OUTPUT_SDVO);
@ -1572,7 +1574,6 @@ i830_sdvo_init(ScrnInfoPtr pScrn, int output_device)
}
intel_output->pI2CBus = i2cbus;
intel_output->dev_priv = dev_priv;
/* Read the regs to test if we can talk to the device */
for (i = 0; i < 0x40; i++) {