From nobody Thu Apr 9 21:51:22 2026 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3562C3803DB for ; Thu, 5 Mar 2026 18:08:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772734090; cv=none; b=gi+3fbIcwdRuxN16Iv7jVZnT1eDuT+maynkIj/2nfTC40vilduB0Bi3WkZ7UdGr0P6aG93MovAre8p0JYNHuX5dXmFIxHOtv3kX9zZdfkvBKfMY9YcbfIiO0TcFDq0eMMoy1T4QsGCWE3zMO/1d99P5AJkEg4qFFID5znKZoOVU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772734090; c=relaxed/simple; bh=2ctX1mZz+0YJrGol754hzx2Gmt4W2jykkiI3ik0bJWk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=B3wTfF2JWXoKMLRQbr5F9qnOHMAtfQaEByfGh4usoMxxvhu9d7jOxlCXATtRvEumzQOqI2u7z5tK3TowtoEIaN3U4A9nflIgmmr2ooy+Y1vMD1lnPODPdxle27aFfr/5DABpJh8AQZQNpixeG4EMZ1T1DQIZW+3f2VQ183sBI6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BkNw8Yqs; arc=none smtp.client-ip=209.85.216.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BkNw8Yqs" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-3598cab697eso2854129a91.1 for ; Thu, 05 Mar 2026 10:08:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772734088; x=1773338888; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=UQsGapjWvt7DkE/WwtDK7xc0/QU5KL1TvsMkrixcHyA=; b=BkNw8YqsHxFLxkl8W8//VPR5ycoQEtMxba5W97UEHblfXsU/ct49SJ4uSE/1DOra7o KvW+yafNVkSq6zs4h9oExchTczqjWfka1MBFs46wW4GgKj/IqajhQQYMi6yFpwDj0Hgq RZekSCKx29GjNcUcq/pBBk2SuTJOBoQSJjV1+jQ+KCU0lJ3wtyP3cgq1JsKehuZaOXDk /n9zrDYb4VoYDGPZJX9KI+4Lo+TOtVkRbnpJbZeIDf82Kca2Y6YS+kHUHUbAoZOfOb4Y 83gKufrlfKeavFSjHt3Vf/St0MeyUymYjPDP3Ds89jqCww26ziswGZkjKnyWvNlH1A5m eLQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772734088; x=1773338888; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UQsGapjWvt7DkE/WwtDK7xc0/QU5KL1TvsMkrixcHyA=; b=Xx8t+eo8P4RyZIQpLbYEu6hZe6nBV+FS9UDKlWEkZIfzqmyLZjfteWEYE5HreBs12a MwrGL6jTdyCqq5B+D+8K3+XvJqbtQrWqP0R8mZUNw9K9KxYVEzWEpcs+e9/Y9CB6wipn /DHCNNmR6DTkbX3o6sqoXWrz3OfXW+NR0Ck6j6q5tAW2rYMxYiGPbvakr38XyoyYNb/d 2QpHyerbvOYzva3yuue5GlJf18QjTOwfzKp/riv78tJse3o/f3bOk/L156ZlSeorO1ds iRZXsMSNzfY1Ymaltylyx5C1a8WgKBYCGD9WC3SvYp35UvZ+7+AcsSqFv2iEhus2Dy28 Zb+A== X-Forwarded-Encrypted: i=1; AJvYcCW3Tpx4BQD0emzy4X/HST+wGzx+tT9HFAVz4RJegetHb1WajDIw7ypqPh+jnDH7eLfncDYfftxvjV0x/g8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy2j8yw82sKBMfIQBBbH7yzIo7BKBye34owrckukBmFFGK13cOa FYoeoKJvLPnR8AA4+JgjIjeQWi0qrZ3C6TDtu9Bt3tod7Yrn+AqEC8jE X-Gm-Gg: ATEYQzzt9Xl5vno/Di6Wpp8wLGERyBuURqN9NE9BZsSv1Al/rERIJORyjUS98B+jMLT cKaOk2tQTLjmOuA7Fcu5ufL63Gdgok4pGxqB9WN/XSLNII98yDk4CV5UtmERl5lEnJVaGW8KwzQ MW9rfMoCKFj3oOSvBliwiOcKBSo8JBjTJuGBXghiNOcVwv5Xy87sc29jAWSyeRJWwVUSVj3KmUz 6YHpmHS8/PR+7x/pxDA8zf2LsZjLrwujGnCMRHpJC673WKEcTBPi2QIwUoj70Tw7qVKj4T3KGu+ 4WcgHT0et/YUO00FYQxyg81/JBACV+AwkhL8FqWee9SN24cqkF8IY5NCzZWGqIq1awsCAnxWC/g dkrNrgW6oqTKB1CNVGQA+plTYi7VXRyEWhyfrPmx2ldBPW2rxIHoJVcLOWHazNKik9ExF4xPOXO Zz5k8i9/7kcAgG3XHWMGpXxo4dD8BcIGK2JrOQnCaLWWPq5hxfY5AZhzESWzE36h+9XRk= X-Received: by 2002:a17:90b:55c8:b0:356:24c8:2291 with SMTP id 98e67ed59e1d1-359b1ac4e05mr2725431a91.0.1772734088524; Thu, 05 Mar 2026 10:08:08 -0800 (PST) Received: from fedora.mrout-thinkpadp16vgen1.punetw6.csb ([223.181.53.201]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-359b2d40427sm2638396a91.5.2026.03.05.10.08.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 10:08:07 -0800 (PST) From: Malaya Kumar Rout To: linux-doc@vger.kernel.org Cc: mrout@redhat.com, skhan@linuxfoundation.org, me@brighamcampbell.com, Malaya Kumar Rout , Jonathan Corbet , Marneni PoornaChandu , Kevin Paul Reddy Janagari , linux-kernel@vger.kernel.org Subject: [PATCH] docs: driver-api: usb: Document USBDEVFS_BULK return value and short reads Date: Thu, 5 Mar 2026 23:37:50 +0530 Message-ID: <20260305180753.114732-1-malayarout91@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Remove a longstanding FIXME comment in the USBDEVFS_BULK documentation by properly documenting the return value behavior. The ioctl returns the actual number of bytes transferred on success, which naturally handles short reads (where fewer bytes are read than requested) by returning a value less than the requested length. This information was verified by examining the implementation in drivers/usb/core/devio.c:do_proc_bulk(), which returns the actual transfer length on success. Signed-off-by: Malaya Kumar Rout --- Documentation/driver-api/usb/usb.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/driver-api/usb/usb.rst b/Documentation/driver-ap= i/usb/usb.rst index 7f2f41e80c1c..a01d72af479b 100644 --- a/Documentation/driver-api/usb/usb.rst +++ b/Documentation/driver-api/usb/usb.rst @@ -539,6 +539,12 @@ USBDEVFS_BULK kernels support requests up to about 128KBytes. *FIXME say how read length is returned, and how short reads are handled.*. =20 + kernels support requests up to about 128KBytes. On success, the + ioctl returns the number of bytes actually transferred. Short reads + are supported; if fewer bytes are received than requested, only the + actual number of bytes received are copied to the buffer and that + count is returned. On error, a negative error code is returned. + USBDEVFS_CLEAR_HALT Clears endpoint halt (stall) and resets the endpoint toggle. This is only meaningful for bulk or interrupt endpoints. The ioctl parameter --=20 2.53.0