Bug 16247

Summary: drm/i915 BUG with 2.6.35-rc
Product: Drivers Reporter: Maciej Rutecki (maciej.rutecki)
Component: Video(DRI - Intel)Assignee: drivers_video-dri-intel (drivers_video-dri-intel)
Status: CLOSED CODE_FIX    
Severity: normal CC: bhalevy, error27, maciej.rutecki, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.35-rc2 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 16055    
Attachments: lock struct_mutex in i915_dma_cleanup()

Description Maciej Rutecki 2010-06-18 19:05:16 UTC
Subject    : drm/i915 BUG with 2.6.35-rc
Submitter  : Benny Halevy <bhalevy@panasas.com>
Date       : 2010-06-14 22:38
Message-ID : 4C16AF56.1040002@panasas.com
References : http://marc.info/?l=linux-kernel&m=127655510531367&w=2

This entry is being used for tracking a regression from 2.6.34.  Please don't
close it until the problem is fixed in the mainline.
Comment 1 Dan Carpenter 2010-06-19 02:41:58 UTC
Created attachment 26858 [details]
lock struct_mutex in i915_dma_cleanup()

Hi Benny,

Can you give the attached patch a go?

drm_irq_uninstall() has to be called with struct_mutex not held and intel_cleanup_ring_buffer() has to be called with struct_mutex held.  That bit is straight forward.

I don't know about i915_free_hws() but I think we don't needed to hold struct_mutex for that.

I don't have the actual hardware myself, so I haven't tested this.
Comment 2 Benny Halevy 2010-06-22 04:18:11 UTC
That did the trick.
Booted with this patch and I have not seen the crash.

Thanks!
Comment 3 Rafael J. Wysocki 2010-07-08 23:13:46 UTC
Fixed by commit ee0c6bfbd602cdad2ab1780061b3b1a9108cbd6c .