From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (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 DA1EE399013 for ; Wed, 12 Aug 2026 06:39:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786516782; cv=none; b=W3O+dPoQzYLKkjCvhbyrvdSCRNt5X57jTZoegQcRzrqimjuOvS+ec90dSAWofBFKfmGViy8F4PgJN7YOSNJ2RTMCrNFowCinZRK13A9WQYyKkVKIAUelc1EYf1OlQ3ELbXAuPs0juoSDcj51TgQ80BJAS0wMbScGjfJww3oULj4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786516782; c=relaxed/simple; bh=ku+XSt1vd9nlPsu7mVMAdjbcpCwPwXWImfM7HeOWHnM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=j4S5Cyc6Kl/YQ1K298Fkhoau66xezqqDpGTzdPLcxx0+zRtBzORJ8OICAhwFX8AW3xEkN4cjzqhUOMP+h5y7my0nipcCHoSorZzx9O0bjX6rJ/FcAeRBEZeYoF1H3SgW3yvS/oo3FTy6bJhB8ivTbQJGDKzrjDVm2dYkP3c3dcs= 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=JAfDWCc+; arc=none smtp.client-ip=209.85.128.170 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="JAfDWCc+" Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-821106b5b64so12992467b3.1 for ; Tue, 11 Aug 2026 23:39:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786516780; x=1787121580; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=sUf8hmD+XWqAHaZUL66gER7weV2oqqD92xBxq0FEFzs=; b=JAfDWCc+2CfGLcD10buGqAZCWqPSv8BrE7XC+pyJ6STWwct0D7agXEhsBybws5yO0p MbnQLijmafTjYPI/KsAQTI4o8vCeZDZHZC38Y3x2ZonYdhE9Ry7vFaBNy7vU8y9bXEc4 TWsTOv61VwaJ80Ha4rvZK1zvrneKdwvzkUfJkqwUKCTyIvFBMRUuJWokyyuw1mCZobpp yBxkjIx2U/dKGUnyGg7Tkx2qBL53+2JPKqVmkjOYforHftwCQhd4wi+oJhjbSzrMCcz8 /CuFznm7I2sccVL7KABV1KsibVUb1AKRHXtB7nk0I7Y4TL2Y0aOVqpyRUL8QuKYMvUgv Lw5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786516780; x=1787121580; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=sUf8hmD+XWqAHaZUL66gER7weV2oqqD92xBxq0FEFzs=; b=konHmlAvic24w+3C2ob5vUOZ8ODs0TrnWIIhZG8DUwADwpEdei6OStk+GtIT4ejgPS kECS8FqZiMG9cIOjMG5A6V4ERbPVYBx8jU6XvsTPcVhlGngCOPNvP5G44O/rwFtkODqm 4Ruu/V2/ezNddMVTwKqmrO6GsAH8WhDO7KSnDcT9e6CE/FJl0Nrifbsm2PvLLXaiOFQY OSW0/PNagOwV/Kow/B0bO9F9wycy5B1Xb6q37jStCgrNa6Q8xUDnXIFIYWfE9e6ncHzZ 5TlqpUWzc7EvqJOseu2l/VayN2GoVcP5i9y/x9ZqPTwNrwKTsqy08f7syTOO2roLDpF/ UPRA== X-Forwarded-Encrypted: i=1; AHgh+Rpuzb/edF0I9axVpf3VDNqzFsM/KGmqns0UQYsGEkWAI2JP0b7IflMp96Mb1eg2cvH3DrKlPy8wrZcvSPM=@vger.kernel.org X-Gm-Message-State: AOJu0Ywx9dre0h5gDimLvFOE+QzgW4jSsyPADeVSmxXltwS+K9axECXg hp5sd0t4s0Ksy+IHyzeyuy90rkcrVBa5ptIlN+FY/0sGY5buy05IV4MJ X-Gm-Gg: AR+sD10TrOxr7Ezie90xd5RX9UiXVQx2AlrAWepOl1prV1sT5DMPMpeYAlUiUM3rbOr 9MNs0lHpq1jVSKdLGl0iIUeZQIiMWBai0oZqCDnKjsiJkpsIN/ftsGS1ss94KX54zmJyYyOjZgv Y3SBuSZZoQNXO/akmG8eQxmv9dM6ooTfXZP9qfn2FdnjhPbystoNRHZ6Yeekgf5FrxqN0GlhxdC a0jWgLmiBqWMTIg6z2laxhXWBorbeu5+8LQH6AS/kRXhiS5uTTCEdwNFiNw99b6tzvEUybT0nE5 oMluPy5XQRq1t19aLGvAW+A3N7wvy7ekvOIaHrN36GvZljAvh5GmFnRA6HUTwzLIiMwZ3jNGbCu 4DoTXUW40zRRvgySAZxnGNZEen36lWRlOeGqpm65BmXPhntREve/KIvzSoOwmLtGpZP8gk2NzKs OWVGmQtkiqYP1xgQ5ooYWoNb0Sw509Yx1Xfr6Zdp9m2qpY1sTLibpNlOJa7Ij0byKHwRSxJ6N2w 8/fduWeab/fGKoVaHq97hfieZVP1DA5q+xnfyMq6wo0g3SEPhY2nfdxNo9aEkgm1VdNhqxC0g3k qH/Qq4np9U+eZ1t67YwmlDUVspWC8eGbJx4PQegYwjpCKh/nmw8Uv3vq5jZDn+BUnHv6iQiG990 3xC5E+Xv+yI5r0uQIFYZVIHr4 X-Received: by 2002:a05:690c:9684:b0:81e:bc7a:df50 with SMTP id 00721157ae682-8303f8d1a91mr41854527b3.3.1786516779730; Tue, 11 Aug 2026 23:39:39 -0700 (PDT) Received: from localhost.localdomain (c-76-108-143-213.hsd1.fl.comcast.net. [76.108.143.213]) by smtp.gmail.com with ESMTPSA id 00721157ae682-830abb2e076sm8226137b3.47.2026.08.11.23.39.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Aug 2026 23:39:38 -0700 (PDT) From: Jason Colapietro To: Valentina Manea , Shuah Khan , Shuah Khan Cc: Hongren Zheng , Greg KH , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 RESEND 2/2] usbip: apply list options regardless of order Date: Wed, 12 Aug 2026 02:39:10 -0400 Message-ID: <20260812063910.31293-2-jasoncola1@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260812063910.31293-1-jasoncola1@gmail.com> References: <20260812063910.31293-1-jasoncola1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit usbip_list() acts on -r, -l and -d as soon as getopt_long() returns them, so any option parsed afterwards is never seen. -p therefore only takes effect when it precedes the mode selector: "usbip list -p -r " is parsable while "usbip list -r -p" is not, and -l and -d behave the same way. Nothing in the usage text suggests the order matters. Record the requested mode during the option loop and run it once parsing has finished, so -p applies wherever it appears on the command line. When several mode selectors are given the first one still wins, as before. Assisted-by: Claude:claude-opus-5 Signed-off-by: Jason Colapietro --- tools/usb/usbip/src/usbip_list.c | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/tools/usb/usbip/src/usbip_list.c b/tools/usb/usbip/src/usbip_list.c index b9d60b87e..632a968a0 100644 --- a/tools/usb/usbip/src/usbip_list.c +++ b/tools/usb/usbip/src/usbip_list.c @@ -343,6 +343,8 @@ int usbip_list(int argc, char *argv[]) }; bool parsable = false; + char *remote_host = NULL; + int action = 0; int opt; int ret = -1; @@ -360,19 +362,36 @@ int usbip_list(int argc, char *argv[]) parsable = true; break; case 'r': - ret = list_exported_devices(optarg, parsable); - goto out; + if (!action) { + action = opt; + remote_host = optarg; + } + break; case 'l': - ret = list_devices(parsable); - goto out; case 'd': - ret = list_gadget_devices(parsable); - goto out; + if (!action) + action = opt; + break; default: goto err_out; } } + switch (action) { + case 'r': + ret = list_exported_devices(remote_host, parsable); + break; + case 'l': + ret = list_devices(parsable); + break; + case 'd': + ret = list_gadget_devices(parsable); + break; + default: + goto err_out; + } + goto out; + err_out: usbip_list_usage(); out: -- 2.50.1 (Apple Git-155)