From owner-freebsd-drivers@freebsd.org Thu Nov 19 23:24:21 2020 Return-Path: Delivered-To: freebsd-drivers@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1BC4B477090 for ; Thu, 19 Nov 2020 23:24:21 +0000 (UTC) (envelope-from stephen.wall@redcom.com) Received: from GCC02-BL0-obe.outbound.protection.outlook.com (mail-bl0gcc02on20617.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d05::617]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4CcbNg2XVhz3mgn for ; Thu, 19 Nov 2020 23:24:18 +0000 (UTC) (envelope-from stephen.wall@redcom.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GV2oYjae/YVeo7aBWnXd5fzyv/vSzJHWbFUxdxFJxSR8tBj2JQ7HpCnvQRR7o5fV6gWo+LRG0/4VwShmo2YUeYKnn0kJqZ+vClJrgg4YEOnWtEejIFHQzCD0VuAhRnDwuyaNszlsvxcw6IQmqluJoyLwwYHXYtNx/Nt+OxYJ8G2zJ7m42uxY5myBalzXVpvdyv6r8gFIz80lqx2xR+fU34VV2FC1OG0/StBrzY+oI0OD7sI3T6Z4g17jaCX76bFHZtPDmV9h4FEApzkFtkl7vOR6y7s02zIPaIg4NHk26LPlSEq1dpbIyR2+8/NCBw3QHNdFBpWKpGtS6jiwRFXh6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wvSH/mdcDnbmePy+5cFTJY2HCLhlSdF/r8YlU1Wpq/o=; b=nZHip0kgQyERC2ugBxPKjvCWeRDhCqyNSo/DM0R4OypQZdqL4SUxThAAt7taioLSaW1aSwzpyH1kuNFQLrKrUZRl+XMdYb5gvUzeH0IrnRnWpye0aklCR8XoDmBl1wMcU2TpMtWXVGvpvhsD40awEqP2vC1QWPiXh2CR8xjProtskHTQkqoKLDlIBpan3msCtpDKnXJ/9jRhhcXUO+sVfoTPAkQNeuiD9KhC6zkog/NPztn1oatBkaDl48o84xwDd+z903nRnObpH2wFPc5UdNGJUBkxebRxqtv309IC0+oKo4RU9GihxKfebFSNM2/dmOVkMlPHm0DUKpNK7GS3ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=redcom.com; dmarc=pass action=none header.from=redcom.com; dkim=pass header.d=redcom.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redcomlaboratories.onmicrosoft.com; s=selector1-redcomlaboratories-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wvSH/mdcDnbmePy+5cFTJY2HCLhlSdF/r8YlU1Wpq/o=; b=yvkJSsMZikaowC2PBNuLgx+FIhwLHL2wO/KHdNn6Fkqg3CflFBwts+7CNcbnRBQ4z6vs0EkVp9Pm6vse0+YK4h5/RJdMEKUSPGT4z/H+Pv1U7ndujdrriW8fyFk0vifWzq/543X2rjVZWT9f+hfN3pbPHSPnvDrnWuKE3QCzizTsHA9wVzdmgEaXe3z3k2HXT9q33ofnoinY2bg3UbA2JNXa7ITtk+ocx4M1KBuOiotmUoW3I1hPc4EBo7AEHr+fxef4G/dgJqL3hF7W0bDad4pFf7mjfjY7Tkse07BH1CjU9QS0EVzmJiIqDt302v8Q0mqi8yCyQ5rgjTdiV5EYGA== Received: from DM6PR09MB4807.namprd09.prod.outlook.com (2603:10b6:5:260::13) by DM6PR09MB4741.namprd09.prod.outlook.com (2603:10b6:5:273::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.22; Thu, 19 Nov 2020 23:24:14 +0000 Received: from DM6PR09MB4807.namprd09.prod.outlook.com ([fe80::99d0:95e:6de8:d647]) by DM6PR09MB4807.namprd09.prod.outlook.com ([fe80::99d0:95e:6de8:d647%7]) with mapi id 15.20.3589.022; Thu, 19 Nov 2020 23:24:14 +0000 From: "Wall, Stephen" To: "freebsd-drivers@freebsd.org" Subject: bug in sound driver? Thread-Topic: bug in sound driver? Thread-Index: AQHWvsjVAlIP7bglNky9qijwCpmKSQ== Date: Thu, 19 Nov 2020 23:24:13 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [50.48.157.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b4f8dea4-8a0e-4aa1-4142-08d88ce23a49 x-ms-traffictypediagnostic: DM6PR09MB4741: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2KNzvHLfuSe2aAwXQQCd0Hfcdf6S9yPSdVhJnR7AKDl3AuiZRcCV1LMxZlmYx7g3ljGU/dGC+oIUobePvEfDf41tNpwf+Ua4IOO6yUZ5by+6Q3qU71CCNUh84BMnrMtedM60Sk8ixDpkq/yn+LWZvBgiXOZ1dH2kAybWig/pMFI0a5gWQCFJ2aYXkbWQIAzfpgyOdQOTc0BDOiP2wpAXnAMbM9dt19v07eGEo3DvvHlzNNVREZ4kXFyqyloZGUts7KEV+7wKb7ZvGq1wq6XSIT6aWyeSMM3UaOMkXpgbltFpa77hudikaYzfUovawesED0kL+umscnJgT9wJmWPp4VXp0rAbX5xLTuzKB3EFDNrw3cx9HHB54wvZ4QXTrvmHRSulSaxIqS60tESyQLNgLZScUipNWjQiCLUJY5I4sb/+fp/UV5Hg5EBAQZCdppvf069DbRsvpRJczX/dx6twAw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR09MB4807.namprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(136003)(39840400004)(376002)(396003)(346002)(366004)(6916009)(83380400001)(7696005)(3480700007)(99936003)(9686003)(26005)(86362001)(186003)(6506007)(19627405001)(316002)(8676002)(8936002)(66946007)(66476007)(52536014)(478600001)(71200400001)(2906002)(5660300002)(76116006)(91956017)(66616009)(55016002)(33656002)(66446008)(64756008)(66556008)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: gMFGbRDNXgeef0RECXhcL8sp0KrrFTo5JMci0SRm/zDRali8gT3Qj12hvjQ2B28RtOps5sFNDR0UrxcAkGADtugEvfZLpfoZix02t4JO4EcN7O9zk5y7Ab+eGhKl1K9QG3VKayCyeivsqGMEqG2HNlrmzYnrn8area4YYrdFUXyAKWQeroAQpYKbA8KHrQe2h6N9ySL5jLHd+odgFSOXynTYvcIHw3OcKN6JFkEn/G7JvYouzx0cHsGiUFhVQ8O+QLj1XYXPWFXteMGOi0LFTo9WEbaO9jsvU/Liu2+lSSLcgZlFVQ/i+7KxxivwRmoc3M+3UxypDqQEpmCJky+F8u0Bl56VUSschoTmWF/3SqBqXyHcqdCul8y85y0QTyCC1GunHUgyhGy3gXuivoc/JE1PTtGlwqwMG0ahgPYXDuhL9Z7GHVfdP/1yn/vgmVf8jKkdbxqRU7mr7XZRWjupuZ5thXAcV6D+7Hn6Sl1vyT7zXliSiplphoccCkvsIfiNgXH00lxqiFeHuBwb3RmSt+qsShM4GHKMIj8NZrXbLcGHslToUIxDTzldGJGqVo+TaOLR0H3zx9jKEKyV1SMH/Vp5BrKQs8cBRK22BQdO0dSrY7IuUHpGWNfNj0SWLe1809UNSSHWlpNkUYQwfLcBh8j5PUz3C/56Xe39s9ISFrFI4nous7t41q8Ep7EWcVGlrxS7V21dA/KtvJtKI9cfmY2zbNTNsUjlM9z31fV42VH78+Sr4NHVTgcQo0BVwdyxU+usXZvI2r4mHHrUcVuzMx1j0/rMPleZJqr7DerxO5ayo0RtIq6h0D3vdrfyR3ES197BVla1CKvQytsNSSSgwDvEGOwUjnfGkkXzvKhXEAojWm87Cz++plH8C3yMwFLcpF4w2tuslKBh9OSPyWGouw== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: redcom.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR09MB4807.namprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b4f8dea4-8a0e-4aa1-4142-08d88ce23a49 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Nov 2020 23:24:13.9918 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 86200ba5-6348-4d6f-bdd7-96f43e8d9247 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zg2jv/6HpfG2oie2lW+vf/qyeCD2k4XG/wxcNMOo17ukJXbA0YkqKXOBxFNDClTdRrY//aixtNxFA5tBHEHgCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR09MB4741 X-Rspamd-Queue-Id: 4CcbNg2XVhz3mgn X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=redcomlaboratories.onmicrosoft.com header.s=selector1-redcomlaboratories-onmicrosoft-com header.b=yvkJSsMZ; arc=pass (microsoft.com:s=arcselector9901:i=1); dmarc=none; spf=pass (mx1.freebsd.org: domain of stephen.wall@redcom.com designates 2a01:111:f400:7d05::617 as permitted sender) smtp.mailfrom=stephen.wall@redcom.com X-Spamd-Result: default: False [-3.32 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; RBL_DBL_DONT_QUERY_IPS(0.00)[2a01:111:f400:7d05::617:from]; R_DKIM_ALLOW(-0.20)[redcomlaboratories.onmicrosoft.com:s=selector1-redcomlaboratories-onmicrosoft-com]; HAS_XOIP(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:111:f400::/48]; MIME_GOOD(-0.10)[multipart/related,multipart/alternative,text/plain]; DMARC_NA(0.00)[redcom.com]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[2a01:111:f400:7d05::617:from:127.0.2.255]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[redcomlaboratories.onmicrosoft.com:+]; NEURAL_HAM_SHORT(-0.82)[-0.817]; TO_DN_EQ_ADDR_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-drivers]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1] Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Nov 2020 23:24:21 -0000 I am working on a driver that is a modified copy of the sound driver, and I= 've found something that might be a bug. In sys/dev/sound/pcm/dsp.c, the funcion dap_io_ops() (called by dsp_read() = and dsp_write()) calls getchns() to get pointers to the channel control str= uctures. getchns() also locks the mutexs on those channels. After calling getchns(), dsp_io_ops() checks to see if a NULL pointer was r= eturns, OR if channels flags field does not have CHN_F_BUSY set. If either= of those are true, it release Giant and exits. That's fine if the pointer= is NULL, since the lock wouldn't have happened but if the BUSY flag is not= set, then dsp_io_ops() (and dsp_read/write()) returns with the channel sti= ll locked. In my driver, I am seeing kernel panics in some situations with this messag= e as a result: Sleeping thread (tid xxx, pid yyy) owns a non-sleepable lock Is this a bug in the sound driver? Should it check these two conditions se= parately and call relchns() if it fails due to the BUSY flag? -- Stephen Wall Senior Staff Software Engineer 585.924.7550 [1600261365931] REDCOM Laboratories, Inc. One Redcom Center Victor, NY 14564-0995 www.redcom.com DUNS 09-166-5919 | CAGE 1U548 Woman Owned Small Business