From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 4EED1415B8E for ; Thu, 20 Aug 2026 11:16:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787224561; cv=none; b=JrJMnQ+xwaEhraDEAWJUNu5WMTnoSndUq6DCyVUBaP+aWJc0wnXMJQ368opec7zhR6qsMTcJf37XiBvjKxriwi4Q63Wc3vw+UFoA5dZtez48tCemRAdSrLDX3UKZO6+Ix6C/oXk1hejLfUYZ+jij1cd8VGFTozE+t/iWBrWSw1w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787224561; c=relaxed/simple; bh=25xWmE1Aw5OhhpAVuAXQnuyzKV0mIHMiuoUcNa77BFQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=FkP8K27bTw3CuTcY2qtMKE9+gFpe6kVbcPQAiYs6RGznGhVvtfWCZbAkmVyTP77/25CGwtL11rEPJ8h8Fwdf9pnG1eUNe/hR/xJc2+0eYEjM46cCZzU64JdbC96Z5kQxzK1oUyzzT68YAsTxwTT0Iew7/ssbk9B2nKhTpXvpPno= 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=KRtQwhn7; arc=none smtp.client-ip=209.85.214.178 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="KRtQwhn7" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2cc61541f8cso9094645ad.0 for ; Thu, 20 Aug 2026 04:16:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787224559; x=1787829359; 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:content-type; bh=K3bUlSyExGxMXTwtT3kv6u/5DTQGMhNhhhuxzC6RV5U=; b=KRtQwhn7qtQrkp5Cl6A/5jCgXtOwRPpfTJpfHBsVcRDdUcX1D2UR8/8Sh9UkRTzsEq 1ZsNPfNhcZFe81QM8PPbtMA4n5dl4+etuGee2wG7bBETbBbPIW2gcfeVaIsc6Jg41Mbq 2ZRVnqRQLifRVSqFNMGm+MqUqNCWscsOkJS8nA1lGd12yq2j8ujo8C+zcFzY45j1kY7p KSfGvHHBHDdpKhP75La/EayTIDB/8pucN5PBMw9kvw7FJDfzQXi/BYe1hA8Lfd81f43X y0LUzWX9mYOQO2TlUc+OQPOMD3rkm4QIV6sUcckQnENAoAFujaZh80IMxxrtLXHRH9w+ 1EGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787224559; x=1787829359; 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:content-type; bh=K3bUlSyExGxMXTwtT3kv6u/5DTQGMhNhhhuxzC6RV5U=; b=fInKReJJOSGaC8sSu0CZWIW4oL6kq6tIEK9QQMKdYpKWfC8z5ATO7jcPS75AAdgRD1 AwyBVNROpZBUNNTyLGaXBX9Hrm3Jyrc+lQQ94fbuAZ2EIUpFN/ydqIWmJAvbdX7js6Z/ KkdbKqaU2FD+AJHkQe5dVX5ldlf4c4lITEsjugulXkHREN4Hubrobw9jg0xG1KRSRnX2 XFBGYaS3gJGMm7Ih8Y2pK7hN5Q/mba05YJ1U2B0rpw5ad7f6eX9lwutJ6Ul/WL5gQuNE 3q6wvPI69gX4Aglb754b3u6DisRpb7LLDJtSOQELYzcwMATZq6c5QrK7erqkdaYdbwiA oh/Q== X-Gm-Message-State: AFuF++nW7VA/cHit8xWYtZr4ao+zB7Z0gChc5Gg1Ux03voXWpaAZYLAs 30mPje2rUi9Tt6wu4nmNQqCq5jkDT9p9AjWfAO8PUpMJFdXzLrTsUqty X-Gm-Gg: AR+sD12HpqOSCRQJhNFvUmo+PJ+VaoeOIgGjmrmfpT6VWBf7pxTBMnZK/iCnxbUWOK7 4nunNW2cjUuEpJZ7ZRvLKDuqmT4apVXtjkFTunKiJ+7vPNGajy0/FFI4DGiYiwwC0CzD6GI6E3J 7BUEMlFzud3FOfSO9cnBLPCxohP3/ZZBuHOnw+4b3l2zfrcQfO/ks/AMHQps+mjvooBO9f1nK5U Fi/rQ4VVU9VXQkdmncS319+KVTKDYsnaZH+unRl0Mq17TwZA3Bk9wFmsYO//BsIRE/OBgjXtdiC FIJYaQEHcENx7U2QW/c5FlFH5o1ONr4kcpQUth2yC42HZqrXMFtg2fXemM7au6z42ZvDuc/pqlZ InOurg87SqLYcqvJCZ0hXRX7uBgzxJ++anWtNYPycPUff5mnbSnoUXsqgo//L1V1XVX4d0qtnl3 kC9sJfd/sAdc+n+TzFIl1dm7z8KrxQ1OaqrSAyOkwOS+9K97wJPh/jlxiglh39OVIDUcVsc3i9z VplPaNV56PaFS6nTY3D6B2cwO4yRn7m18RkdFlxlb1V8iEqIi252K6pGm01lnARQEaSDV5OHPIP Qiv9 X-Received: by 2002:a17:90b:2584:b0:38f:de94:bf34 with SMTP id 98e67ed59e1d1-395a074aab8mr6160121a91.10.1787224559411; Thu, 20 Aug 2026 04:15:59 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3957fb51271sm6803505a91.7.2026.08.20.04.15.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 04:15:58 -0700 (PDT) From: phucduc.bui@gmail.com To: Andrew Lunn , davem@davemloft.net, Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, bui duc phuc Subject: [PATCH] net: davicom: Propagate wakeup IRQ errors Date: Thu, 20 Aug 2026 18:15:47 +0700 Message-ID: <20260820111548.97990-1-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: bui duc phuc The wakeup IRQ is optional, but errors from platform_get_irq_optional() are currently ignored. Propagate errors from the IRQ lookup, except -ENXIO which indicates that the optional IRQ is not available. Also propagate errors from request_irq() and irq_set_irq_wake() instead of continuing the probe after the wakeup IRQ setup fails. Found by manual code inspection. Signed-off-by: bui duc phuc --- drivers/net/ethernet/davicom/dm9000.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/davicom/dm9000.c b/drivers/net/ethernet/davicom/dm9000.c index b87eaf0c250c..904b859f0a63 100644 --- a/drivers/net/ethernet/davicom/dm9000.c +++ b/drivers/net/ethernet/davicom/dm9000.c @@ -1511,13 +1511,18 @@ dm9000_probe(struct platform_device *pdev) } db->irq_wake = platform_get_irq_optional(pdev, 1); - if (db->irq_wake >= 0) { + if (db->irq_wake < 0 && db->irq_wake != -ENXIO) { + ret = db->irq_wake; + goto out; + } + if (db->irq_wake > 0) { dev_dbg(db->dev, "wakeup irq %d\n", db->irq_wake); ret = request_irq(db->irq_wake, dm9000_wol_interrupt, IRQF_SHARED, dev_name(db->dev), ndev); if (ret) { dev_err(db->dev, "cannot get wakeup irq (%d)\n", ret); + goto out; } else { /* test to see if irq is really wakeup capable */ @@ -1525,6 +1530,7 @@ dm9000_probe(struct platform_device *pdev) if (ret) { dev_err(db->dev, "irq %d cannot set wakeup (%d)\n", db->irq_wake, ret); + goto out; } else { irq_set_irq_wake(db->irq_wake, 0); db->wake_supported = 1; -- 2.43.0