From nobody Wed Mar 09 21:42:58 2022 X-Original-To: freebsd-usb@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 6675519F9BDE for ; Wed, 9 Mar 2022 21:43:08 +0000 (UTC) (envelope-from farhan@farhan.codes) Received: from wforward4-smtp.messagingengine.com (wforward4-smtp.messagingengine.com [64.147.123.34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4KDQfg3vFnz3sVf for ; Wed, 9 Mar 2022 21:43:06 +0000 (UTC) (envelope-from farhan@farhan.codes) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailforward.west.internal (Postfix) with ESMTP id EBECD1AC118A; Wed, 9 Mar 2022 16:42:59 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 09 Mar 2022 16:43:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=UeWiSa3pYXIZ3PaDmE86+ksoyfU2/TMbVBNVXqKy+ Ro=; b=MLpOYxRxRyaR/EPma2qJ9ulK4TDjLX9Z7BHPS0pFHWNuyLV9oZqJqJnhb Ha+Uyee4ADiHVzYgxf6fixsTFB5ytXuOqSAT+bO6YPXjh4Iy3NoSvb43LNGBZ5R+ x9/h/rI3vyWzmFSSJAJ0Vx3+le0gihYxEkJG3u0U8nNLh1ga2G+UU/ffI6NzSMAC UmEcUE4kgQt2ukrscAHHeBg7dRDJkMFtE4lqp/+08LkVCCd2sj+TzX0kw6E0Ujjz LmhI3phUSaNT0BXwt5xCCIylbJGf0hYfiQuqcYOoMk0Gqkn3M6tD+aomlH0AvUDz o8iH/Y52C90R57kRHpm71iOu4j6zw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddruddukedgudehudcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepkffuhffvffgjfhgtfggggfesth ekredttderjeenucfhrhhomhephfgrrhhhrghnucfmhhgrnhcuoehfrghrhhgrnhesfhgr rhhhrghnrdgtohguvghsqeenucggtffrrghtthgvrhhnpedufefggefhtdeuffeitedute eluddtgfektddugfejjeelveeikefffeeukeevkeenucevlhhushhtvghrufhiiigvpedt necurfgrrhgrmhepmhgrihhlfhhrohhmpehfrghrhhgrnhesfhgrrhhhrghnrdgtohguvg hs X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 9 Mar 2022 16:42:58 -0500 (EST) Message-ID: <7abd641a74526552a8cc1692f7453cb3c1279034.camel@farhan.codes> Subject: Re: Understanding USB callback + assertion panic From: Farhan Khan To: Daniel O'Connor Cc: freebsd-usb@freebsd.org Date: Wed, 09 Mar 2022 16:42:58 -0500 In-Reply-To: References: <69696561-822a-4808-b142-4a22d3f6b6b2@farhan.codes> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.4 (by Flathub.org)) List-Id: FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-usb List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-usb@freebsd.org X-BeenThere: freebsd-usb@freebsd.org MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4KDQfg3vFnz3sVf X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=messagingengine.com header.s=fm2 header.b=MLpOYxRx; dmarc=none; spf=none (mx1.freebsd.org: domain of farhan@farhan.codes has no SPF policy when checking 64.147.123.34) smtp.mailfrom=farhan@farhan.codes X-Spamd-Result: default: False [-4.23 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[messagingengine.com:s=fm2]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[farhan.codes]; DWL_DNSWL_LOW(-1.00)[messagingengine.com:dkim]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[messagingengine.com:+]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-0.83)[-0.835]; MLMMJ_DEST(0.00)[freebsd-usb]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:29838, ipnet:64.147.123.0/24, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[64.147.123.34:from] X-ThisMailContainsUnwantedMimeParts: N On Wed, 2022-03-09 at 20:26 +1030, Daniel O'Connor wrote: > > This one? > >         USB_XFER_LOCK_ASSERT(xfer, MA_OWNED); > > > I think that assertion is saying you have to have acquired the USB > transfer lock USB_XFER_LOCK() et al, although I am not entirely sure > how you do that 'bare'. I have only called usbd_transfer_start in the > USB FIFO setup routines. > Hi Daniel and Hans! In my case, I am hitting the assertion panic even though I have this: --------- error = usbd_transfer_setup(uaa->device, &iface_index, usc->usc_xfer, athn_config_common, ATHN_N_TRANSFERS, usc, &sc->sc_mtx); ATHN_LOCK(sc); usbd_transfer_start(usc->usc_xfer[ATHN_BULK_TX_DATA]); ATHN_UNLOCK(sc); --------- Considering this is quite similar to how other drivers do this, what might I be doing wrong? I removed the error checking on 'error' for brevity, but it returns 0. Thanks! Farhan