drm/nouveau: protect ramht_find() from oopsing if on channel without ramht
This doesn't actually happen now, but there's a test case for an earlier kernel where a GPU error is signalled on one of nv50's fake channels, and the ramht lookup by the IRQ handler triggered an oops. This adds a check for RAMHT's existance on a channel before looking up an object handle. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
185abeccab
commit
2941482ead
|
@ -197,6 +197,9 @@ nouveau_ramht_find(struct nouveau_channel *chan, u32 handle)
|
|||
struct nouveau_gpuobj *gpuobj = NULL;
|
||||
unsigned long flags;
|
||||
|
||||
if (unlikely(!chan->ramht))
|
||||
return NULL;
|
||||
|
||||
spin_lock_irqsave(&ramht->lock, flags);
|
||||
list_for_each_entry(entry, &chan->ramht->entries, head) {
|
||||
if (entry->channel == chan && entry->handle == handle) {
|
||||
|
|
Loading…
Reference in New Issue