Merge branch 'hot-fixes' (fixes for rc6)
This is a collection of three fixes for small annoyances. Two of these are already pending in other trees, but I really don't want to release another -rc with these issues pending, so I picked up the patches for these things directly. We'll end up with duplicate commits eventually, I prefer that over having these issues pending. The third one is just me getting rid of another BUG_ON() just because it was reported and I dislike those things so much. * merge 'hot-fixes' branch: ida: don't use BUG_ON() for debugging drm/aperture: Run fbdev removal before internal helpers ptrace: fix clearing of JOBCTL_TRACED in ptrace_unfreeze_traced()pull/31/merge
commit
24f4b40ec2
|
|
@ -329,7 +329,20 @@ int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
|
||||||
const struct drm_driver *req_driver)
|
const struct drm_driver *req_driver)
|
||||||
{
|
{
|
||||||
resource_size_t base, size;
|
resource_size_t base, size;
|
||||||
int bar, ret = 0;
|
int bar, ret;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* WARNING: Apparently we must kick fbdev drivers before vgacon,
|
||||||
|
* otherwise the vga fbdev driver falls over.
|
||||||
|
*/
|
||||||
|
#if IS_REACHABLE(CONFIG_FB)
|
||||||
|
ret = remove_conflicting_pci_framebuffers(pdev, req_driver->name);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
#endif
|
||||||
|
ret = vga_remove_vgacon(pdev);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) {
|
for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) {
|
||||||
if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
|
if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
|
||||||
|
|
@ -339,15 +352,6 @@ int drm_aperture_remove_conflicting_pci_framebuffers(struct pci_dev *pdev,
|
||||||
drm_aperture_detach_drivers(base, size);
|
drm_aperture_detach_drivers(base, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
return 0;
|
||||||
* WARNING: Apparently we must kick fbdev drivers before vgacon,
|
|
||||||
* otherwise the vga fbdev driver falls over.
|
|
||||||
*/
|
|
||||||
#if IS_REACHABLE(CONFIG_FB)
|
|
||||||
ret = remove_conflicting_pci_framebuffers(pdev, req_driver->name);
|
|
||||||
#endif
|
|
||||||
if (ret == 0)
|
|
||||||
ret = vga_remove_vgacon(pdev);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_aperture_remove_conflicting_pci_framebuffers);
|
EXPORT_SYMBOL(drm_aperture_remove_conflicting_pci_framebuffers);
|
||||||
|
|
|
||||||
|
|
@ -222,7 +222,7 @@ static void ptrace_unfreeze_traced(struct task_struct *task)
|
||||||
if (lock_task_sighand(task, &flags)) {
|
if (lock_task_sighand(task, &flags)) {
|
||||||
task->jobctl &= ~JOBCTL_PTRACE_FROZEN;
|
task->jobctl &= ~JOBCTL_PTRACE_FROZEN;
|
||||||
if (__fatal_signal_pending(task)) {
|
if (__fatal_signal_pending(task)) {
|
||||||
task->jobctl &= ~TASK_TRACED;
|
task->jobctl &= ~JOBCTL_TRACED;
|
||||||
wake_up_state(task, __TASK_TRACED);
|
wake_up_state(task, __TASK_TRACED);
|
||||||
}
|
}
|
||||||
unlock_task_sighand(task, &flags);
|
unlock_task_sighand(task, &flags);
|
||||||
|
|
|
||||||
|
|
@ -491,7 +491,8 @@ void ida_free(struct ida *ida, unsigned int id)
|
||||||
struct ida_bitmap *bitmap;
|
struct ida_bitmap *bitmap;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
BUG_ON((int)id < 0);
|
if ((int)id < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
xas_lock_irqsave(&xas, flags);
|
xas_lock_irqsave(&xas, flags);
|
||||||
bitmap = xas_load(&xas);
|
bitmap = xas_load(&xas);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue