2019-05-27 08:55:05 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-16 17:57:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-22 23:49:09 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2010-02-22 23:49:09 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:29:28 +02:00
|
|
|
|
2005-05-10 14:47:38 +02:00
|
|
|
|
2006-07-14 15:18:19 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:23 +01:00
|
|
|
|
2010-03-04 19:46:13 +01:00
|
|
|
|
2010-03-11 21:13:22 +01:00
|
|
|
|
2011-03-11 14:51:12 +01:00
|
|
|
|
2006-05-05 09:49:53 +02:00
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-02-16 11:55:18 +01:00
|
|
|
|
2019-08-15 00:31:34 -04:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2011-02-08 01:22:36 -05:00
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:23 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-15 10:57:58 +01:00
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-15 10:57:58 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-11-16 07:54:14 +01:00
|
|
|
|
2011-08-19 07:55:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-01-15 10:57:58 +01:00
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
|
|
|
|
|
2021-01-15 10:57:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-05-31 13:35:43 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-05-31 13:35:43 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2010-05-31 13:35:43 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-05-31 13:35:43 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2017-12-04 15:31:48 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-03-28 17:58:28 +02:00
|
|
|
|
2020-12-23 18:22:22 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-14 16:14:45 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-14 12:54:48 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 15:12:55 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
|
|
|
|
|
2011-03-11 14:51:12 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-03-14 12:54:48 -04:00
|
|
|
|
2017-08-17 15:17:46 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
2017-08-17 15:17:46 -07:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
|
|
|
|
|
2010-06-11 17:34:22 +02:00
|
|
|
|
|
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
2010-06-11 17:34:22 +02:00
|
|
|
|
|
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
2010-06-11 17:34:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-11 14:51:12 +01:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2021-10-14 15:06:34 +02:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-11 17:34:22 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-01-29 06:37:55 +01:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2012-11-28 23:55:35 +01:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-22 23:49:13 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:22 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2015-08-14 16:14:45 +02:00
|
|
|
|
2012-10-12 15:12:55 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2012-11-28 23:55:35 +01:00
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2015-08-14 16:14:45 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-14 16:14:45 +02:00
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Avoid nested autoresume calls
After the recent fix of runtime PM for USB-audio driver, we got a
lockdep warning like:
=============================================
[ INFO: possible recursive locking detected ]
4.2.0-rc8+ #61 Not tainted
---------------------------------------------
pulseaudio/980 is trying to acquire lock:
(&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio]
but task is already holding lock:
(&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio]
This comes from snd_usb_autoresume() invoking down_read() and it's
used in a nested way. Although it's basically safe, per se (as these
are read locks), it's better to reduce such spurious warnings.
The read lock is needed to guarantee the execution of "shutdown"
(cleanup at disconnection) task after all concurrent tasks are
finished. This can be implemented in another better way.
Also, the current check of chip->in_pm isn't good enough for
protecting the racy execution of multiple auto-resumes.
This patch rewrites the logic of snd_usb_autoresume() & co; namely,
- The recursive call of autopm is avoided by the new refcount,
chip->active. The chip->in_pm flag is removed accordingly.
- Instead of rwsem, another refcount, chip->usage_count, is introduced
for tracking the period to delay the shutdown procedure. At
the last clear of this refcount, wake_up() to the shutdown waiter is
called.
- The shutdown flag is replaced with shutdown atomic count; this is
for reducing the lock.
- Two new helpers are introduced to simplify the management of these
refcounts; snd_usb_lock_shutdown() increases the usage_count, checks
the shutdown state, and does autoresume. snd_usb_unlock_shutdown()
does the opposite. Most of mixer and other codes just need this,
and simply returns an error if it receives an error from lock.
Fixes: 9003ebb13f61 ('ALSA: usb-audio: Fix runtime PM unbalance')
Reported-and-tested-by: Alexnader Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-08-25 16:09:00 +02:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
|
|
|
|
|
2011-03-11 14:51:12 +01:00
|
|
|
|
ALSA: usb-audio: Avoid nested autoresume calls
After the recent fix of runtime PM for USB-audio driver, we got a
lockdep warning like:
=============================================
[ INFO: possible recursive locking detected ]
4.2.0-rc8+ #61 Not tainted
---------------------------------------------
pulseaudio/980 is trying to acquire lock:
(&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio]
but task is already holding lock:
(&chip->shutdown_rwsem){.+.+.+}, at: [<ffffffffa0355dac>] snd_usb_autoresume+0x1d/0x52 [snd_usb_audio]
This comes from snd_usb_autoresume() invoking down_read() and it's
used in a nested way. Although it's basically safe, per se (as these
are read locks), it's better to reduce such spurious warnings.
The read lock is needed to guarantee the execution of "shutdown"
(cleanup at disconnection) task after all concurrent tasks are
finished. This can be implemented in another better way.
Also, the current check of chip->in_pm isn't good enough for
protecting the racy execution of multiple auto-resumes.
This patch rewrites the logic of snd_usb_autoresume() & co; namely,
- The recursive call of autopm is avoided by the new refcount,
chip->active. The chip->in_pm flag is removed accordingly.
- Instead of rwsem, another refcount, chip->usage_count, is introduced
for tracking the period to delay the shutdown procedure. At
the last clear of this refcount, wake_up() to the shutdown waiter is
called.
- The shutdown flag is replaced with shutdown atomic count; this is
for reducing the lock.
- Two new helpers are introduced to simplify the management of these
refcounts; snd_usb_lock_shutdown() increases the usage_count, checks
the shutdown state, and does autoresume. snd_usb_unlock_shutdown()
does the opposite. Most of mixer and other codes just need this,
and simply returns an error if it receives an error from lock.
Fixes: 9003ebb13f61 ('ALSA: usb-audio: Fix runtime PM unbalance')
Reported-and-tested-by: Alexnader Kuleshov <kuleshovmail@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-08-25 16:09:00 +02:00
|
|
|
|
2012-10-12 15:12:55 +02:00
|
|
|
|
2020-03-14 12:54:48 -04:00
|
|
|
|
2017-08-17 15:17:46 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 15:12:55 +02:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:22 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2006-07-14 15:18:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-23 20:24:24 +02:00
|
|
|
|
2006-07-14 15:18:19 +02:00
|
|
|
|
|
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2009-06-16 14:04:37 +02:00
|
|
|
|
2006-07-14 15:18:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-08-16 14:18:37 +02:00
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
2006-07-14 15:18:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-24 14:23:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2011-05-25 09:09:00 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-27 15:18:22 +02:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2020-06-24 14:23:40 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-19 13:38:23 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-12-19 13:38:23 +01:00
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2017-12-19 13:38:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-11 13:37:54 +01:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2018-07-11 13:37:54 +01:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2018-07-11 13:37:54 +01:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2018-07-11 13:37:54 +01:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-07-10 12:07:24 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Support multiple control interfaces
Registering Numark Party Mix II fails with error 'bogus bTerminalLink 1'.
The problem stems from the driver not being able to find input/output
terminals required to configure audio streaming. The information about
those terminals is stored in AudioControl Interface. Numark device
contains 2 AudioControl Interfaces and the driver checks only one of them.
According to the USB standard, a device can have multiple audio functions,
each represented by Audio Interface Collection. Every audio function is
considered to be closed box and will contain unique AudioControl Interface
and zero or more AudioStreaming and MIDIStreaming Interfaces.
The Numark device adheres to the standard and defines two audio functions:
- MIDIStreaming function
- AudioStreaming function
It starts with MIDI function, followed by the audio function. The driver
saves the first AudioControl Interface in `snd_usb_audio` structure
associated with the entire device. It then attempts to use this interface
to query for terminals and clocks. However, this fails because the correct
information is stored in the second AudioControl Interface, defined in the
second Audio Interface Collection.
This patch introduces a structure holding association between each
MIDI/Audio Interface and its corresponding AudioControl Interface,
instead of relying on AudioControl Interface defined for the entire
device. This structure is populated during usb probing phase and leveraged
later when querying for terminals and when sending USB requests.
Alternative solutions considered include:
- defining a quirk for Numark where the order of interface is manually
changed, or terminals are hardcoded in the driver. This solution would
have fixed only this model, though it seems that device is USB compliant,
and it also seems that other devices from this company may be affected.
What's more, it looks like products from other manufacturers have similar
problems, i.e. Rane One DJ console
- keeping a list of all AudioControl Interfaces and querying all of them
to find required information. That would have solved my problem and have
low probability of breaking other devices, as we would always start with
the same logic of querying first AudioControl Interface. This solution
would not have followed the standard though.
This patch preserves the `snd_usb_audio.ctrl_intf` variable, which holds
the first AudioControl Interface, and uses it as a fallback when some
interfaces are not parsed correctly and lack an associated AudioControl
Interface, i.e., when configured via quirks.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217865
Signed-off-by: Karol Kosik <k.kosik@outlook.com>
Link: https://patch.msgid.link/AS8P190MB1285893F4735C8B32AD3886BEC852@AS8P190MB1285.EURP190.PROD.OUTLOOK.COM
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2024-08-11 17:29:56 -07:00
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-19 14:04:47 +01:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Fix UAC2/3 effect unit parsing
We've got a regression report about M-Audio Fast Track C400 device,
and the git bisection resulted in the commit e0ccdef92653 ("ALSA:
usb-audio: Clean up check_input_term()"). This commit was about the
rewrite of the input terminal parser, and it's not too obvious from
the change what really broke. The answer is: it's the interpretation
of UAC2/3 effect units.
In the original code, UAC2 effect unit is as if through UAC1
processing unit because both UAC1 PU and UAC2/3 EU share the same
number (0x07). The old code went through a complex switch-case
fallthrough, finally bailing out in the middle:
if (protocol == UAC_VERSION_2 &&
hdr[2] == UAC2_EFFECT_UNIT) {
/* UAC2/UAC1 unit IDs overlap here in an
* uncompatible way. Ignore this unit for now.
*/
return 0;
}
... and this special handling was missing in the new code; the new
code treats UAC2/3 effect unit as if it were equivalent with the
processing unit.
Actually, the old code was too confusing. The effect unit has an
incompatible unit description with the processing unit, so we
shouldn't have dealt with EU in the same way.
This patch addresses the regression by changing the effect unit
handling to the own parser function. The own parser function makes
the clear distinct with PU, so it improves the readability, too.
The EU parser just sets the type and the id like the old kernels.
Once when the proper effect unit support is added, we can revisit this
parser function, but for now, let's keep this simple setup as is.
Fixes: e0ccdef92653 ("ALSA: usb-audio: Clean up check_input_term()")
Cc: <stable@vger.kernel.org>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206147
Link: https://lore.kernel.org/r/20200211160521.31990-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-02-11 17:05:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-13 12:20:59 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Fix UAC2/3 effect unit parsing
We've got a regression report about M-Audio Fast Track C400 device,
and the git bisection resulted in the commit e0ccdef92653 ("ALSA:
usb-audio: Clean up check_input_term()"). This commit was about the
rewrite of the input terminal parser, and it's not too obvious from
the change what really broke. The answer is: it's the interpretation
of UAC2/3 effect units.
In the original code, UAC2 effect unit is as if through UAC1
processing unit because both UAC1 PU and UAC2/3 EU share the same
number (0x07). The old code went through a complex switch-case
fallthrough, finally bailing out in the middle:
if (protocol == UAC_VERSION_2 &&
hdr[2] == UAC2_EFFECT_UNIT) {
/* UAC2/UAC1 unit IDs overlap here in an
* uncompatible way. Ignore this unit for now.
*/
return 0;
}
... and this special handling was missing in the new code; the new
code treats UAC2/3 effect unit as if it were equivalent with the
processing unit.
Actually, the old code was too confusing. The effect unit has an
incompatible unit description with the processing unit, so we
shouldn't have dealt with EU in the same way.
This patch addresses the regression by changing the effect unit
handling to the own parser function. The own parser function makes
the clear distinct with PU, so it improves the readability, too.
The EU parser just sets the type and the id like the old kernels.
Once when the proper effect unit support is added, we can revisit this
parser function, but for now, let's keep this simple setup as is.
Fixes: e0ccdef92653 ("ALSA: usb-audio: Clean up check_input_term()")
Cc: <stable@vger.kernel.org>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206147
Link: https://lore.kernel.org/r/20200211160521.31990-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-02-11 17:05:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-25 15:41:49 +01:00
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-15 00:31:34 -04:00
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2019-08-15 00:31:34 -04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2019-08-15 00:31:34 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-20 17:17:09 +02:00
|
|
|
|
|
|
|
|
|
2019-08-15 00:31:34 -04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Fix UAC2/3 effect unit parsing
We've got a regression report about M-Audio Fast Track C400 device,
and the git bisection resulted in the commit e0ccdef92653 ("ALSA:
usb-audio: Clean up check_input_term()"). This commit was about the
rewrite of the input terminal parser, and it's not too obvious from
the change what really broke. The answer is: it's the interpretation
of UAC2/3 effect units.
In the original code, UAC2 effect unit is as if through UAC1
processing unit because both UAC1 PU and UAC2/3 EU share the same
number (0x07). The old code went through a complex switch-case
fallthrough, finally bailing out in the middle:
if (protocol == UAC_VERSION_2 &&
hdr[2] == UAC2_EFFECT_UNIT) {
/* UAC2/UAC1 unit IDs overlap here in an
* uncompatible way. Ignore this unit for now.
*/
return 0;
}
... and this special handling was missing in the new code; the new
code treats UAC2/3 effect unit as if it were equivalent with the
processing unit.
Actually, the old code was too confusing. The effect unit has an
incompatible unit description with the processing unit, so we
shouldn't have dealt with EU in the same way.
This patch addresses the regression by changing the effect unit
handling to the own parser function. The own parser function makes
the clear distinct with PU, so it improves the readability, too.
The EU parser just sets the type and the id like the old kernels.
Once when the proper effect unit support is added, we can revisit this
parser function, but for now, let's keep this simple setup as is.
Fixes: e0ccdef92653 ("ALSA: usb-audio: Clean up check_input_term()")
Cc: <stable@vger.kernel.org>
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206147
Link: https://lore.kernel.org/r/20200211160521.31990-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-02-11 17:05:21 +01:00
|
|
|
|
2019-08-23 12:38:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-15 00:31:34 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-08-14 16:14:45 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:42 +02:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
[ALSA] Remove redundant NULL checks before kfree
Timer Midlevel,ALSA sequencer,ALSA<-OSS sequencer,Digigram VX core
I2C tea6330t,GUS Library,VIA82xx driver,VIA82xx-modem driver
CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,YMFPCI driver
Digigram VX Pocket driver,Common EMU synth,USB generic driver,USB USX2Y
Checking a pointer for NULL before calling kfree() on it is redundant,
kfree() deals with NULL pointers just fine.
This patch removes such checks from sound/
This patch also makes another, but closely related, change.
It avoids casting pointers about to be kfree()'ed.
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-05-30 17:30:32 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2024-11-05 13:02:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2012-11-28 23:55:39 +01:00
|
|
|
|
2013-02-09 12:56:35 -05:00
|
|
|
|
2012-11-28 23:55:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-23 20:24:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
2012-04-23 20:24:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
2012-04-23 20:24:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-09 00:13:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-10-15 22:47:10 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-05-26 14:26:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-26 04:55:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-09-03 13:09:48 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: apply quirk for Huawei Technologies Co., Ltd. CM-Q3
There're several different actual hardwares sold by Huawei, using the
same USB ID 12d1:3a07.
The first one we found, having a volume control named "Headset Playback
Volume", reports a min value -15360, and will mute iff setting it to
-15360. It can be simply fixed by quirk flag MIXER_PLAYBACK_MIN_MUTE,
which we have already submitted previously.[1]
The second one we found today, having a volume control named "PCM
Playback Volume", reports its min -11520 and res 256, and will mute
when less than -11008. Because of the already existing quirk flag, we
can just set its min to -11264, and the new minimum value will still
not be available to userspace, so that userspace's minimum will be the
correct -11008.
1. https://lore.kernel.org/all/20250903-sound-v1-3-d4ca777b8512@uniontech.com/
Tested-by: Guoli An <anguoli@uniontech.com>
Signed-off-by: Cryolitia PukNgae <cryolitia.pukngae@linux.dev>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-10-11 17:51:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-02 13:36:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Initialize every feature unit once at probe time
So far we used to read the current value of the mixer element
dynamically at the first access, and the error from a GET_CUR message
is treated as a fatal error (unless QUIRK_IGNORE_CTL_ERROR is set).
It's rather inconvenient, as most of GET_CUR errors are no fatal, and
we can continue operation with assumption of some fixed value.
This patch makes the USB-audio driver to change the behavior at probe
time; now it tries to initialize the current value of each mixer
element that is built from a feature unit (those for typically for
mixer volumes and switches). When a read failure happens, it tries to
set the known minimum value. After that point, a cached value is used
always, hence we won't hit GET_CUR message error any longer.
The error from GET_CUR message is still shown as a warning normally,
but only once at the probe time, and it'll keep operating. If the
message is confirmed to be harmless, it can be shut up by
QUIRK_IGNORE_CTL_ERROR quirk flag, too.
Tested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20211014130636.17860-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-14 15:06:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
ALSA: usb-audio: Initialize every feature unit once at probe time
So far we used to read the current value of the mixer element
dynamically at the first access, and the error from a GET_CUR message
is treated as a fatal error (unless QUIRK_IGNORE_CTL_ERROR is set).
It's rather inconvenient, as most of GET_CUR errors are no fatal, and
we can continue operation with assumption of some fixed value.
This patch makes the USB-audio driver to change the behavior at probe
time; now it tries to initialize the current value of each mixer
element that is built from a feature unit (those for typically for
mixer volumes and switches). When a read failure happens, it tries to
set the known minimum value. After that point, a cached value is used
always, hence we won't hit GET_CUR message error any longer.
The error from GET_CUR message is still shown as a warning normally,
but only once at the probe time, and it'll keep operating. If the
message is confirmed to be harmless, it can be shut up by
QUIRK_IGNORE_CTL_ERROR quirk flag, too.
Tested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20211014130636.17860-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-14 15:06:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:03 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
ALSA: usb-audio: Initialize every feature unit once at probe time
So far we used to read the current value of the mixer element
dynamically at the first access, and the error from a GET_CUR message
is treated as a fatal error (unless QUIRK_IGNORE_CTL_ERROR is set).
It's rather inconvenient, as most of GET_CUR errors are no fatal, and
we can continue operation with assumption of some fixed value.
This patch makes the USB-audio driver to change the behavior at probe
time; now it tries to initialize the current value of each mixer
element that is built from a feature unit (those for typically for
mixer volumes and switches). When a read failure happens, it tries to
set the known minimum value. After that point, a cached value is used
always, hence we won't hit GET_CUR message error any longer.
The error from GET_CUR message is still shown as a warning normally,
but only once at the probe time, and it'll keep operating. If the
message is confirmed to be harmless, it can be shut up by
QUIRK_IGNORE_CTL_ERROR quirk flag, too.
Tested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20211014130636.17860-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-14 15:06:36 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-22 23:49:13 +01:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2020-03-14 12:54:48 -04:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-01-20 22:39:32 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:22 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-03-28 17:58:28 +02:00
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
2026-04-11 01:49:03 +08:00
|
|
|
|
|
|
|
|
|
2019-11-09 19:16:58 +01:00
|
|
|
|
2026-04-11 01:49:03 +08:00
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
2026-05-31 03:52:49 +08:00
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:03 +08:00
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2006-03-28 17:58:28 +02:00
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:03 +08:00
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-02-27 11:57:37 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Initialize every feature unit once at probe time
So far we used to read the current value of the mixer element
dynamically at the first access, and the error from a GET_CUR message
is treated as a fatal error (unless QUIRK_IGNORE_CTL_ERROR is set).
It's rather inconvenient, as most of GET_CUR errors are no fatal, and
we can continue operation with assumption of some fixed value.
This patch makes the USB-audio driver to change the behavior at probe
time; now it tries to initialize the current value of each mixer
element that is built from a feature unit (those for typically for
mixer volumes and switches). When a read failure happens, it tries to
set the known minimum value. After that point, a cached value is used
always, hence we won't hit GET_CUR message error any longer.
The error from GET_CUR message is still shown as a warning normally,
but only once at the probe time, and it'll keep operating. If the
message is confirmed to be harmless, it can be shut up by
QUIRK_IGNORE_CTL_ERROR quirk flag, too.
Tested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20211014130636.17860-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-14 15:06:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
ALSA: usb-audio: Initialize every feature unit once at probe time
So far we used to read the current value of the mixer element
dynamically at the first access, and the error from a GET_CUR message
is treated as a fatal error (unless QUIRK_IGNORE_CTL_ERROR is set).
It's rather inconvenient, as most of GET_CUR errors are no fatal, and
we can continue operation with assumption of some fixed value.
This patch makes the USB-audio driver to change the behavior at probe
time; now it tries to initialize the current value of each mixer
element that is built from a feature unit (those for typically for
mixer volumes and switches). When a read failure happens, it tries to
set the known minimum value. After that point, a cached value is used
always, hence we won't hit GET_CUR message error any longer.
The error from GET_CUR message is still shown as a warning normally,
but only once at the probe time, and it'll keep operating. If the
message is confirmed to be harmless, it can be shut up by
QUIRK_IGNORE_CTL_ERROR quirk flag, too.
Tested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20211014130636.17860-4-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-10-14 15:06:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-05-31 03:52:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-07-06 02:19:31 +08:00
|
|
|
|
2026-05-31 03:52:49 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2011-11-08 17:50:27 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
2011-08-19 08:30:53 +02:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-19 08:30:53 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2011-08-19 08:30:53 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
|
|
|
|
|
2026-04-19 17:30:29 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-01-15 17:05:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-04-19 17:30:29 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:24 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2025-08-11 12:13:55 +02:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2020-03-14 12:54:48 -04:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: usb-audio: Add support for Lenovo ThinkStation P620
Lenovo ThinkStation P620 is like other TRX40 boards, is equipped with
two USB audio cards.
USB device (17aa:104d) provides functionality for Internal Speaker and
Front Headset. It's UAC v2, so it supports insertion control (jack
detection). However, when trying to get the connector status of the
speaker, an error occurs:
[ 5.787405] usb 3-1: cannot get connectors status: req = 0x81, wValue = 0x200, wIndex = 0x1000, type = 0
Since the insertion control works perfectly for the headset, the error
for speaker is probably casued by connecting internally. So let's relax
the error for a bit if it's a speaker, and always reports it's connected.
USB device (17aa:1046) is for rear Line-in, Line-out and Microphone.
The insertion control works for all three jacks. However, there's an
Function Unit that doesn't work:
[ 5.905415] usb 3-6: cannot get ctl value: req = 0x83, wValue = 0xc00, wIndex = 0x1300, type = 4
[ 5.905418] usb 3-6: 19:0: cannot get min/max values for control 12 (id 19)
So turn off the FU to avoid the error.
Also, add specific card name for both devices, so userspace can easily
indentify both cards.
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Link: https://lore.kernel.org/r/20200803142612.17156-1-kai.heng.feng@canonical.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-08-03 22:26:08 +08:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-01-26 10:21:42 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-12 10:13:28 +02:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2021-03-26 00:59:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-03 09:16:57 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2017-04-12 18:38:06 +05:30
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:24 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-03 09:16:57 +01:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:24 -07:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-03 09:16:57 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-02 14:06:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-03 13:28:39 +01:00
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
2021-08-03 13:28:39 +01:00
|
|
|
|
2013-09-22 20:44:12 +02:00
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-22 20:44:12 +02:00
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-10-20 22:46:22 +02:00
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:58 +08:00
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:58 +08:00
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
2026-03-04 03:47:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
2026-03-04 03:47:58 +08:00
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2014-05-24 10:58:17 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
2018-03-27 15:30:01 +01:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2018-03-27 15:30:01 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2015-08-14 16:14:45 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-03-27 16:30:53 +01:00
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:37 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2024-03-16 09:37:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2024-03-16 09:37:30 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2014-10-19 09:11:25 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2012-11-23 13:48:55 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
2014-10-19 09:11:25 +02:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2014-10-19 09:11:25 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
2009-10-02 14:06:08 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
ALSA: Convert strlcpy to strscpy when return value is unused
strlcpy is deprecated. see: Documentation/process/deprecated.rst
Change the calls that do not use the strlcpy return value to the
preferred strscpy.
Done with cocci script:
@@
expression e1, e2, e3;
@@
- strlcpy(
+ strscpy(
e1, e2, e3);
This cocci script leaves the instances where the return value is
used unchanged.
After this patch, sound/ has 3 uses of strlcpy() that need to be
manually inspected for conversion and changed one day.
$ git grep -w strlcpy sound/
sound/usb/card.c: len = strlcpy(card->longname, s, sizeof(card->longname));
sound/usb/mixer.c: return strlcpy(buf, p->name, buflen);
sound/usb/mixer.c: return strlcpy(buf, p->names[index], buflen);
Miscellenea:
o Remove trailing whitespace in conversion of sound/core/hwdep.c
Link: https://lore.kernel.org/lkml/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/22b393d1790bb268769d0bab7bacf0866dcb0c14.camel@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-01-04 09:17:34 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-14 17:11:06 +02:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2012-05-14 17:11:06 +02:00
|
|
|
|
2020-02-14 15:49:28 +01:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2020-02-14 15:49:28 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-14 17:11:06 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2015-12-13 20:49:58 +02:00
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2026-03-04 03:47:57 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-10 14:53:38 +01:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-14 15:05:56 +01:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-14 15:05:56 +01:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2026-05-04 23:20:10 +02:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
2021-07-29 20:51:26 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2018-06-14 15:05:56 +01:00
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-20 08:20:36 +02:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2020-04-20 08:20:36 +02:00
|
|
|
|
|
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
2018-06-14 15:05:56 +01:00
|
|
|
|
2021-07-29 20:51:26 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:24 -07:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:24 -07:00
|
|
|
|
2018-06-14 15:05:56 +01:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2018-06-14 15:05:56 +01:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
2020-04-20 08:20:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:24 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
|
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2023-09-13 12:39:33 +03:00
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
2023-09-13 12:39:33 +03:00
|
|
|
|
2016-04-09 11:21:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-30 22:57:33 -03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2019-01-09 02:20:16 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2010-05-27 20:15:14 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2024-07-15 14:35:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-27 15:18:22 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-19 21:09:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2009-11-17 15:36:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
2009-11-17 15:36:13 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
2009-11-17 15:36:13 +01:00
|
|
|
|
2012-09-20 10:20:41 +02:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
2012-09-20 10:20:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-17 15:36:13 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2011-10-13 08:19:09 +02:00
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
2018-04-23 08:59:36 +02:00
|
|
|
|
|
|
|
|
|
2018-03-22 14:39:55 -07:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-20 21:43:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2024-10-09 00:09:44 -07:00
|
|
|
|
|
|
|
|
|
2009-10-02 14:06:08 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-12 10:13:30 +02:00
|
|
|
|
|
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-04-14 17:19:23 +01:00
|
|
|
|
2015-06-03 11:36:51 +02:00
|
|
|
|
2018-12-19 14:04:47 +01:00
|
|
|
|
2015-06-03 11:36:51 +02:00
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-20 21:43:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:34 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-04-19 17:30:29 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-12 18:38:06 +05:30
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-31 13:35:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2019-07-04 16:31:12 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2018-12-19 12:36:27 +01:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
|
|
|
|
|
2020-08-18 01:20:11 +08:00
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2019-07-04 16:31:12 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-12-19 12:36:27 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-05-27 15:18:22 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2018-07-11 13:37:52 +01:00
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2018-07-11 13:37:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2014-05-24 10:58:17 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-11 13:37:52 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-07-11 13:37:55 +01:00
|
|
|
|
2026-04-14 21:29:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-11 13:37:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-27 09:13:41 -08:00
|
|
|
|
|
|
|
|
|
2018-07-11 13:37:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-14 21:29:01 +08:00
|
|
|
|
2018-07-11 13:37:55 +01:00
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2026-04-14 21:29:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-11 01:49:02 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-08-18 01:20:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
ALSA: Convert strlcpy to strscpy when return value is unused
strlcpy is deprecated. see: Documentation/process/deprecated.rst
Change the calls that do not use the strlcpy return value to the
preferred strscpy.
Done with cocci script:
@@
expression e1, e2, e3;
@@
- strlcpy(
+ strscpy(
e1, e2, e3);
This cocci script leaves the instances where the return value is
used unchanged.
After this patch, sound/ has 3 uses of strlcpy() that need to be
manually inspected for conversion and changed one day.
$ git grep -w strlcpy sound/
sound/usb/card.c: len = strlcpy(card->longname, s, sizeof(card->longname));
sound/usb/mixer.c: return strlcpy(buf, p->name, buflen);
sound/usb/mixer.c: return strlcpy(buf, p->names[index], buflen);
Miscellenea:
o Remove trailing whitespace in conversion of sound/core/hwdep.c
Link: https://lore.kernel.org/lkml/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/22b393d1790bb268769d0bab7bacf0866dcb0c14.camel@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-01-04 09:17:34 -08:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2019-07-04 16:31:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSA: Convert strlcpy to strscpy when return value is unused
strlcpy is deprecated. see: Documentation/process/deprecated.rst
Change the calls that do not use the strlcpy return value to the
preferred strscpy.
Done with cocci script:
@@
expression e1, e2, e3;
@@
- strlcpy(
+ strscpy(
e1, e2, e3);
This cocci script leaves the instances where the return value is
used unchanged.
After this patch, sound/ has 3 uses of strlcpy() that need to be
manually inspected for conversion and changed one day.
$ git grep -w strlcpy sound/
sound/usb/card.c: len = strlcpy(card->longname, s, sizeof(card->longname));
sound/usb/mixer.c: return strlcpy(buf, p->name, buflen);
sound/usb/mixer.c: return strlcpy(buf, p->names[index], buflen);
Miscellenea:
o Remove trailing whitespace in conversion of sound/core/hwdep.c
Link: https://lore.kernel.org/lkml/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/22b393d1790bb268769d0bab7bacf0866dcb0c14.camel@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-01-04 09:17:34 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-10-02 14:06:08 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-07-04 16:31:12 +02:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
|
|
|
|
|
2019-07-04 16:31:12 +02:00
|
|
|
|
2018-07-11 13:37:53 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-07-04 16:31:12 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2011-01-10 16:30:13 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-08-08 17:12:47 +02:00
|
|
|
|
|
|
|
|
|
2011-01-10 16:30:13 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-05-07 04:59:54 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2014-11-18 11:02:14 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2024-08-06 14:46:50 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-04-19 17:30:29 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-12 18:38:06 +05:30
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
|
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2018-05-27 15:18:22 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2014-05-24 10:58:17 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-07-11 13:37:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2018-07-11 13:37:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:24 +01:00
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2025-07-10 12:07:24 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-18 23:36:57 +01:00
|
|
|
|
2010-02-11 17:50:44 +01:00
|
|
|
|
2017-12-04 15:31:49 +09:00
|
|
|
|
2017-12-18 23:36:57 +01:00
|
|
|
|
2018-07-11 13:37:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-18 23:36:57 +01:00
|
|
|
|
2018-07-11 13:37:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-12-18 23:36:57 +01:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:02 +03:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-12-18 23:36:57 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
ALSA: Convert strlcpy to strscpy when return value is unused
strlcpy is deprecated. see: Documentation/process/deprecated.rst
Change the calls that do not use the strlcpy return value to the
preferred strscpy.
Done with cocci script:
@@
expression e1, e2, e3;
@@
- strlcpy(
+ strscpy(
e1, e2, e3);
This cocci script leaves the instances where the return value is
used unchanged.
After this patch, sound/ has 3 uses of strlcpy() that need to be
manually inspected for conversion and changed one day.
$ git grep -w strlcpy sound/
sound/usb/card.c: len = strlcpy(card->longname, s, sizeof(card->longname));
sound/usb/mixer.c: return strlcpy(buf, p->name, buflen);
sound/usb/mixer.c: return strlcpy(buf, p->names[index], buflen);
Miscellenea:
o Remove trailing whitespace in conversion of sound/core/hwdep.c
Link: https://lore.kernel.org/lkml/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/22b393d1790bb268769d0bab7bacf0866dcb0c14.camel@perches.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-01-04 09:17:34 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-12-18 23:36:57 +01:00
|
|
|
|
2018-07-11 13:37:51 +01:00
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
|
|
|
|
|
2009-10-02 14:06:08 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-10-02 14:06:08 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
2019-08-22 08:23:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-20 17:17:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-15 16:30:39 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
2026-01-20 13:28:55 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-10 14:10:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-20 13:28:55 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-11-08 15:37:04 +01:00
|
|
|
|
2005-04-29 16:29:28 +02:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-05 15:47:26 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-11-12 00:37:54 +09:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-11-22 12:28:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-06-14 15:05:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
2018-06-14 15:05:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
2018-06-14 15:05:57 +01:00
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-22 23:49:13 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-11-17 15:08:02 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
2011-08-04 15:56:28 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-05-02 08:51:26 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2005-04-22 15:49:52 +02:00
|
|
|
|
2020-04-22 13:33:20 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2011-08-04 15:56:28 +02:00
|
|
|
|
2019-08-20 17:17:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2010-06-16 17:57:28 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-19 21:09:25 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-03-19 21:09:25 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2013-03-19 21:09:25 +01:00
|
|
|
|
2010-05-31 13:35:44 +02:00
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2020-04-12 10:13:30 +02:00
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
|
|
|
|
|
2018-03-23 19:25:23 -07:00
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2020-04-12 10:13:30 +02:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2020-04-12 10:13:31 +02:00
|
|
|
|
|
|
|
|
|
2018-05-11 16:25:36 +01:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2020-04-22 13:33:20 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:22 +01:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2020-04-22 13:33:20 +02:00
|
|
|
|
|
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2020-06-24 14:23:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-11-16 17:35:17 +01:00
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2017-11-16 17:35:17 +01:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2021-06-22 11:06:47 +02:00
|
|
|
|
2021-07-14 10:48:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-06-22 11:06:47 +02:00
|
|
|
|
2026-03-27 16:30:54 +01:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-16 11:52:27 +01:00
|
|
|
|
2020-03-14 12:54:48 -04:00
|
|
|
|
2010-02-16 11:52:27 +01:00
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
|
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-08 19:52:02 +02:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-22 13:33:20 +02:00
|
|
|
|
|
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2016-04-08 19:52:02 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-24 14:23:40 +02:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2016-04-08 19:52:02 +02:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-05-31 23:45:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
2011-03-11 13:19:43 +01:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2011-03-11 13:19:43 +01:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-26 13:02:17 +01:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:29:28 +02:00
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
|
|
|
|
|
2014-05-24 10:58:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-04 15:56:28 +02:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
2011-08-04 15:56:28 +02:00
|
|
|
|
2009-01-03 17:54:53 +01:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
2008-12-29 11:23:02 +01:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-11 18:13:50 +02:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-07-29 09:44:01 +02:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2020-01-03 09:16:26 +01:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-11 21:13:25 +01:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2025-07-10 12:07:21 +02:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2026-02-21 16:37:42 -08:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-07-29 09:44:01 +02:00
|
|
|
|
2026-02-21 20:03:00 -08:00
|
|
|
|
2005-04-29 16:26:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2011-08-04 15:56:28 +02:00
|
|
|
|
|
|
|
|
|
2010-09-03 10:53:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-21 02:03:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-03 10:53:11 +02:00
|
|
|
|
2010-02-22 23:49:12 +01:00
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
|
|
|
|
|
2018-05-27 15:18:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-05-04 04:24:04 +03:00
|
|
|
|
2018-06-14 15:05:58 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-04-24 13:00:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-07-13 11:39:29 +02:00
|
|
|
|
2014-02-04 11:15:31 +01:00
|
|
|
|
2005-05-03 08:02:40 +02:00
|
|
|
|
|
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
2019-02-04 16:07:35 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-16 11:17:09 +01:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
2005-05-03 08:02:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
|
|
|
|
|
2014-10-31 11:24:32 +01:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2017-10-10 14:10:32 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-07-29 00:42:45 +09:30
|
|
|
|
|
|
|
|
|
2017-10-10 14:10:32 +02:00
|
|
|
|
2005-04-29 16:23:13 +02:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-07-29 00:42:45 +09:30
|
|
|
|
|
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
2018-05-03 12:33:32 +02:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
2021-06-23 02:30:49 +09:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
2024-07-15 14:36:45 +02:00
|
|
|
|
2014-11-12 12:07:01 -06:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
2022-02-14 13:57:11 +01:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-14 13:57:11 +01:00
|
|
|
|
|
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-10 12:51:55 +02:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-10 12:51:55 +02:00
|
|
|
|
|
|
|
|
|
2021-03-26 00:59:13 +08:00
|
|
|
|
|
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-04-27 14:23:37 +02:00
|
|
|
|
|
|
|
|
|
2014-01-20 16:51:16 +01:00
|
|
|
|
|
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-10 12:51:55 +02:00
|
|
|
|
2014-11-18 11:47:04 +01:00
|
|
|
|