Received: by 2002:ab2:3319:0:b0:1ef:7a0f:c32d with SMTP id i25csp465101lqc; Fri, 8 Mar 2024 02:50:14 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWROW0SclkjJ7Qyk5I/tCkjq/7t8dV3jUx+a4Skzig48Wf/7ipF/o8xSEFcM76Zsv6hkKPSlfJwUPpv5NBfsjFqXnxVL5TFcWT0lvO2tg== X-Google-Smtp-Source: AGHT+IEOxxjQMV10b/34VFX1AaAOwEXjq/9nzKUCHcwF6Pdyx9PyDR4X1hnrQVZcgDeibP2MMUpl X-Received: by 2002:a17:90a:ed03:b0:29b:b28d:ac66 with SMTP id kq3-20020a17090aed0300b0029bb28dac66mr1172354pjb.5.1709895013739; Fri, 08 Mar 2024 02:50:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709895013; cv=pass; d=google.com; s=arc-20160816; b=qRbvL0ev+SgFopAWCRpZaYc9dB5XbMCQRJGcoQYEGF06mLeOdz7JxinfEy6maJ0mJt tFNyJGX0Gjp6QW0KISQYrCdpnGbtMA0jczjopbXDeUs0qeDu93ONO6wM3Y74d7GeCTNB aeWu1Ljk+H/FHhWkec56ar4FpQaCywK25hZ4gWWK5rjKo+oEkgldhPnb93Ahgi/SBQvm W8aaotiyBqGgNeBOhrjk/d+ejJ10ZdicNt0GpLtJSXfBKqxbew96JOCQ+W2Thi9DuvH1 OW7a3Zq66IjUDPdJW68LDYYeZ9nu+12TZUi6Sj+ufymHFrJ57PcNWD48TfjE36MfP1ZG WG7w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=uSPL9R4NEdEb5t9F1k6HdAHD+VzckhslVdvrEVAW9tM=; fh=mfeOSJLMnCDNR66eAZy/FEQtJFnUL4+nHQqqd4p8IqQ=; b=avM1nqxl3ZPl6G8a+CVlt1hH4bd5t1Gl8JMQA7m6bH9pyox25U8DU+eHJpdTTf4vBz ML6imhGvuhVw1E6aA7OT1neRFII+D+PZ/qEshaV53AhIhwAM7ZnalT03QPds7/6518JS pa+1PQi+VTucrKSLEh5DBNeYQIOidDvBis45VaMPqhY0W9iKS1uflCCO8bvdQa0abtWA S7SEm/wZ+jCWHRKLlr11w054M+e01OiK8QjZ5UEDjX/DtQ07bgL9d+0b2LkbHGF1rD1J X3X1YMYa09rkdEtVBYIeo7hj5iW+Ei/KGcx2eK6tQLW/IArptxwnyDU8k2Bly+EBJVrY EF0A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=DvJMlbwW; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-96749-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-96749-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id c6-20020a17090ab28600b0029b403cfa8esi3468238pjr.145.2024.03.08.02.50.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Mar 2024 02:50:13 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-96749-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@bgdev-pl.20230601.gappssmtp.com header.s=20230601 header.b=DvJMlbwW; arc=pass (i=1 dkim=pass dkdomain=bgdev-pl.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-96749-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-96749-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 1E9DEB21264 for ; Fri, 8 Mar 2024 09:33:17 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D96DF535A4; Fri, 8 Mar 2024 09:33:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b="DvJMlbwW" Received: from mail-vk1-f171.google.com (mail-vk1-f171.google.com [209.85.221.171]) (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 07C9952F89 for ; Fri, 8 Mar 2024 09:33:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709890390; cv=none; b=mib5JnX2HdzjbnCQsx/kLQWzL583MSlHuwzABbRVXYIN6qRow0tukSgg/f2Lz2r16zBefnzm7DjxRuzONMdawzNGBl8myIiX/cIWoBKU8BupczNltRpT25+5Mnun+bCAzRKRFXNfgHU3bV1keG7CcbIt/FAcn55k6dlS6Pe1J/Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709890390; c=relaxed/simple; bh=G5c+9IWvn6ieMhvBUbYIVPZPnNSgCyJnNf7/vpLBkgU=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=gFcYAutUthD4R6pggnK2JKHoo26FBrrhE8tqJYIZhmUf4Ck1D04ZTkTn/IaTRLQ3z4kupSBLOtL7zuvGMipWJ11658IuWTxQDysG+vT/LxpzLOP2/4nGIVxv9CU1oWjR8GDtGr040BOrFUrw0HJXGeZpKcMZPjazfckZO0j27lA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl; spf=none smtp.mailfrom=bgdev.pl; dkim=pass (2048-bit key) header.d=bgdev-pl.20230601.gappssmtp.com header.i=@bgdev-pl.20230601.gappssmtp.com header.b=DvJMlbwW; arc=none smtp.client-ip=209.85.221.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=bgdev.pl Received: by mail-vk1-f171.google.com with SMTP id 71dfb90a1353d-4d367dadd14so430112e0c.0 for ; Fri, 08 Mar 2024 01:33:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20230601.gappssmtp.com; s=20230601; t=1709890386; x=1710495186; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=uSPL9R4NEdEb5t9F1k6HdAHD+VzckhslVdvrEVAW9tM=; b=DvJMlbwWcoCxcE5wlsunzqOQ0UG23+cOrtow8JR1rNug5SpaI1OJvkMy30DUxvDc+w 1FmU++KsWw614yvYwD5Uof8NG0jm+MhvD/i3M9T2BqJMIj4IDRc8RLo9HAKf4gwvCw34 StBZmh4WfMUXF87/oZDrXPL3QjzcpmYsmea0hs6ssGo6s9z1aZtV5MCjIMpTgaPhEIFa BmZScbL93bA5opMhUeu4HJCHNyvYu4SKrX5vZJ4zQFpKU2v0nvcSMM1S+nnmPVQrNBOd ybTkUfGS2P8QtpHJU3sTxEcgHgj2FfzL6khJ4dQfulLgr3uoJi9rj/SMWap/dHV7o36M TDUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709890386; x=1710495186; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uSPL9R4NEdEb5t9F1k6HdAHD+VzckhslVdvrEVAW9tM=; b=Ma6ISBR91ehpSG+lJ02pQlWr3ZqYI5aRAL8R/tTZ9CprnAFTw3Ux+R6CaEQ2w0iGbA qX1fIsrfyrN90ycUhnATKK+jijKNsefCBWiM+h7bFYIoymKQP2+XGeQJiG90/RlkDCg+ ZoaNlCyxOrEsnHNtuQ1jounJerWriTy2Yt72sH58a4aZWM3ozlbzq6od41Z8454J6u51 owJnOFw2sR25Wb+g4uWzZQH8u89cbocerXo3HwTFMdHVF9vJhgLrwBSLsy586eu1aVM2 wM8Jt8sexrrmhJSiO/8dfid+DRLH0kzDAs7lYBBKQ65XOKYAjvPIJW53duy6qI/1ppWm v6cA== X-Forwarded-Encrypted: i=1; AJvYcCXld/gS5Eq1ZPh86rdsxPqM/rzfyHq41XRv+ZTwsDcMoQIg8KHnpp9TFiPedEPznGsdfrEJx+1aw/SlzLYywjjGZSHI8AWHV5KlNaG8 X-Gm-Message-State: AOJu0YzyBlGEjdEBv9+UMItAgLyLoot7Hp2LADoUl1VMpQ4x6JFz2lHG UMTk31nQpuEEd/vnxBMe/D+Dg286HVkB7pYYmQ+u++yuvVyAiAVyA0uH21ye4blBC+uFjFdJbTo eWlpjQ4sieiq5sfS1MTCVrW2qPpgAi8oTvGNrClpgp/wCqvc8F2Y= X-Received: by 2002:a1f:1402:0:b0:4d3:3974:657a with SMTP id 2-20020a1f1402000000b004d33974657amr9398254vku.14.1709890385847; Fri, 08 Mar 2024 01:33:05 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240307214317.2914835-1-alexander.sverdlin@gmail.com> In-Reply-To: <20240307214317.2914835-1-alexander.sverdlin@gmail.com> From: Bartosz Golaszewski Date: Fri, 8 Mar 2024 10:32:54 +0100 Message-ID: Subject: Re: [PATCH] gpio: sysfs: repair export returning -EPERM on 1st attempt To: Alexander Sverdlin Cc: linux-gpio@vger.kernel.org, Andy Shevchenko , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Mar 7, 2024 at 10:43=E2=80=AFPM Alexander Sverdlin wrote: > > It would make sense to return -EPERM if the bit was already set (already > used), not if it was cleared. Before this fix pins can only be exported o= n > the 2nd attempt: > > $ echo 522 > /sys/class/gpio/export > sh: write error: Operation not permitted > $ echo 522 > /sys/class/gpio/export > > Fixes: 35b545332b80 ("gpio: remove gpio_lock") > Signed-off-by: Alexander Sverdlin > --- > drivers/gpio/gpiolib-sysfs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpio/gpiolib-sysfs.c b/drivers/gpio/gpiolib-sysfs.c > index 67fc09a57f26..6853ecd98bcb 100644 > --- a/drivers/gpio/gpiolib-sysfs.c > +++ b/drivers/gpio/gpiolib-sysfs.c > @@ -593,7 +593,7 @@ int gpiod_export(struct gpio_desc *desc, bool directi= on_may_change) > if (!guard.gc) > return -ENODEV; > > - if (!test_and_set_bit(FLAG_EXPORT, &desc->flags)) > + if (test_and_set_bit(FLAG_EXPORT, &desc->flags)) > return -EPERM; > > gdev =3D desc->gdev; > -- > 2.43.2 > That's of course correct. Applied. Bart