RE: drm/radeon: take the mode_config mutex when dealing with hpds (v2) crashes
> -Original Message- > From: Joerg Platte [mailto:li...@naasa.net] > Sent: Sunday, August 23, 2015 11:26 PM > To: Deucher, Alexander; linux-kernel@vger.kernel.org > Subject: drm/radeon: take the mode_config mutex when dealing with hpds > (v2) crashes > > Dear Alex, > > on my old P4 based non-SMP router your patch (commit > 32d12fc20e3c726ca858d0e5055fb596fce2f8bc in linux stable) crashes on > Linux 4.1.4 and above. I was only able to take a picture of the whole > trace https://ferdi.naasa.net/url/jplatte/IMG_3116.JPG > > Reverting the patch resolves the issue. > > This is my old graphics hardware: > 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. > [AMD/ATI] RV100 [Radeon 7000 / Radeon VE] > > Just for the reference, here is the full patch: > commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc > Author: Alex Deucher > Date: Fri May 15 11:48:52 2015 -0400 > > drm/radeon: take the mode_config mutex when dealing with hpds (v2) > > commit 39fa10f7e21574a70cecf1fed0f9b36535aa68a0 upstream. > > Since we are messing with state in the worker. > > v2: drop the changes in the mst worker > > Signed-off-by: Alex Deucher > Signed-off-by: Greg Kroah-Hartman > > diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c > b/drivers/gpu/drm/radeon/radeon_irq_kms.c > index 7162c93..f682e53 100644 > --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c > +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c > @@ -79,10 +79,12 @@ static void radeon_hotplug_work_func(struct > work_struct *work) > struct drm_mode_config *mode_config = >mode_config; > struct drm_connector *connector; > > + mutex_lock(_config->mutex); > if (mode_config->num_connector) { > list_for_each_entry(connector, > _config->connector_list, head) > radeon_connector_hotplug(connector); > } > + mutex_unlock(_config->mutex); > /* Just fire off a uevent and let userspace tell us what to do */ > drm_helper_hpd_irq_event(dev); > } > > Is it possible that the mutex is not defined on non-SMP systems? Can you > help to resolve this regression? Fixed in: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7f98ca454ad373fc1b76be804fa7138ff68c1d27 Alex > > Best regards, > Joerg N�r��yb�X��ǧv�^�){.n�+{zX����ܨ}���Ơz�:+v���zZ+��+zf���h���~i���z��w���?�&�)ߢf��^jǫy�m��@A�a��� 0��h���i
RE: drm/radeon: take the mode_config mutex when dealing with hpds (v2) crashes
-Original Message- From: Joerg Platte [mailto:li...@naasa.net] Sent: Sunday, August 23, 2015 11:26 PM To: Deucher, Alexander; linux-kernel@vger.kernel.org Subject: drm/radeon: take the mode_config mutex when dealing with hpds (v2) crashes Dear Alex, on my old P4 based non-SMP router your patch (commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc in linux stable) crashes on Linux 4.1.4 and above. I was only able to take a picture of the whole trace https://ferdi.naasa.net/url/jplatte/IMG_3116.JPG Reverting the patch resolves the issue. This is my old graphics hardware: 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV100 [Radeon 7000 / Radeon VE] Just for the reference, here is the full patch: commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc Author: Alex Deucher alexander.deuc...@amd.com Date: Fri May 15 11:48:52 2015 -0400 drm/radeon: take the mode_config mutex when dealing with hpds (v2) commit 39fa10f7e21574a70cecf1fed0f9b36535aa68a0 upstream. Since we are messing with state in the worker. v2: drop the changes in the mst worker Signed-off-by: Alex Deucher alexander.deuc...@amd.com Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c index 7162c93..f682e53 100644 --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c @@ -79,10 +79,12 @@ static void radeon_hotplug_work_func(struct work_struct *work) struct drm_mode_config *mode_config = dev-mode_config; struct drm_connector *connector; + mutex_lock(mode_config-mutex); if (mode_config-num_connector) { list_for_each_entry(connector, mode_config-connector_list, head) radeon_connector_hotplug(connector); } + mutex_unlock(mode_config-mutex); /* Just fire off a uevent and let userspace tell us what to do */ drm_helper_hpd_irq_event(dev); } Is it possible that the mutex is not defined on non-SMP systems? Can you help to resolve this regression? Fixed in: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7f98ca454ad373fc1b76be804fa7138ff68c1d27 Alex Best regards, Joerg N�r��yb�X��ǧv�^�){.n�+{zX����ܨ}���Ơz�j:+v���zZ+��+zf���h���~i���z��w���?��)ߢf��^jǫy�m��@A�a��� 0��h���i
drm/radeon: take the mode_config mutex when dealing with hpds (v2) crashes
Dear Alex, on my old P4 based non-SMP router your patch (commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc in linux stable) crashes on Linux 4.1.4 and above. I was only able to take a picture of the whole trace https://ferdi.naasa.net/url/jplatte/IMG_3116.JPG Reverting the patch resolves the issue. This is my old graphics hardware: 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV100 [Radeon 7000 / Radeon VE] Just for the reference, here is the full patch: commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc Author: Alex Deucher Date: Fri May 15 11:48:52 2015 -0400 drm/radeon: take the mode_config mutex when dealing with hpds (v2) commit 39fa10f7e21574a70cecf1fed0f9b36535aa68a0 upstream. Since we are messing with state in the worker. v2: drop the changes in the mst worker Signed-off-by: Alex Deucher Signed-off-by: Greg Kroah-Hartman diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c index 7162c93..f682e53 100644 --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c @@ -79,10 +79,12 @@ static void radeon_hotplug_work_func(struct work_struct *work) struct drm_mode_config *mode_config = >mode_config; struct drm_connector *connector; + mutex_lock(_config->mutex); if (mode_config->num_connector) { list_for_each_entry(connector, _config->connector_list, head) radeon_connector_hotplug(connector); } + mutex_unlock(_config->mutex); /* Just fire off a uevent and let userspace tell us what to do */ drm_helper_hpd_irq_event(dev); } Is it possible that the mutex is not defined on non-SMP systems? Can you help to resolve this regression? Best regards, Joerg -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
drm/radeon: take the mode_config mutex when dealing with hpds (v2) crashes
Dear Alex, on my old P4 based non-SMP router your patch (commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc in linux stable) crashes on Linux 4.1.4 and above. I was only able to take a picture of the whole trace https://ferdi.naasa.net/url/jplatte/IMG_3116.JPG Reverting the patch resolves the issue. This is my old graphics hardware: 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV100 [Radeon 7000 / Radeon VE] Just for the reference, here is the full patch: commit 32d12fc20e3c726ca858d0e5055fb596fce2f8bc Author: Alex Deucher alexander.deuc...@amd.com Date: Fri May 15 11:48:52 2015 -0400 drm/radeon: take the mode_config mutex when dealing with hpds (v2) commit 39fa10f7e21574a70cecf1fed0f9b36535aa68a0 upstream. Since we are messing with state in the worker. v2: drop the changes in the mst worker Signed-off-by: Alex Deucher alexander.deuc...@amd.com Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c index 7162c93..f682e53 100644 --- a/drivers/gpu/drm/radeon/radeon_irq_kms.c +++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c @@ -79,10 +79,12 @@ static void radeon_hotplug_work_func(struct work_struct *work) struct drm_mode_config *mode_config = dev-mode_config; struct drm_connector *connector; + mutex_lock(mode_config-mutex); if (mode_config-num_connector) { list_for_each_entry(connector, mode_config-connector_list, head) radeon_connector_hotplug(connector); } + mutex_unlock(mode_config-mutex); /* Just fire off a uevent and let userspace tell us what to do */ drm_helper_hpd_irq_event(dev); } Is it possible that the mutex is not defined on non-SMP systems? Can you help to resolve this regression? Best regards, Joerg -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/