Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp5567813imm; Wed, 12 Sep 2018 07:54:36 -0700 (PDT) X-Google-Smtp-Source: ANB0VdbemQs/PFz5qNXUqeBQ4O3he4XBtHGeKa2iON5CXtxcm1VVKwvr7x4VwMevgudRBA7lTNon X-Received: by 2002:a63:380d:: with SMTP id f13-v6mr2790458pga.124.1536764076165; Wed, 12 Sep 2018 07:54:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536764076; cv=none; d=google.com; s=arc-20160816; b=h6t/jnAOXOmEHYDozR2T+84yIvusXy54GtpIhZoatA54nrLSdgeUWk1PGx22zBxO0y L3btvH6OVN2waOlGyXrruNI+0uX6yR7o4dA8yGPQ18WBJe36vn7mvkic+tcgvwl+IpDZ ghSqnnMWiZIlMxtrqLR/lDOeoIQhxhtUSdIylTG53K33gYDCeXRk3VDqA/J3HWmdQOk0 Wig4CkgfRLne3H2sy//5IBeMml2ijAyp0JDz9VbEsnXyQ98QVpmJTwfli0/cdKhFv2ur SQdYAG4wj0e8LJsAboMS9LR/Uh1riqmhsuzzwp99WpHXmFn8Ooadiv5sZWhre4E+S4xU 7DCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=+V8fAYC2/ylaIlrOo7i1iwbCwcrAPXfVL23PyOKr2FU=; b=d7K9jTjPRqBMpMKbtPbKBBXDKw4z4HQRAnOpBR7xSHWmQPoTDbKlm6NNN7X/qwKFmQ AQPu1JCBJqhP2iOe0Es0rMrviwAII/3N4PSduU31lILTgcy6BFbWcabOyYUmTgMIjRW8 3Ea1mzUqrGv2AaW0e0PG96ap5OI4JfFHJgH+CbB+AviX5LBQgjL3gF1acgF3lq2mk6kG sks7U7MCDmbH+jAxxKq/Le2MyVh4pJ0VhMc0lcwSoz2w376rRgCA2T3n9gbGxGNUDndI SbKLZz/sVz08/dLBV7RiemJ+MOOlVKK9YqJ5UvAc3jWmPZYNa84F6hq4x3Q2APIm+6Yo d2ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@raspberrypi.org header.s=pp header.b=SO+sdpMJ; dkim=pass header.i=@raspberrypi.org header.s=google header.b=WeabCxTH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=raspberrypi.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k4-v6si1334046pgm.313.2018.09.12.07.54.17; Wed, 12 Sep 2018 07:54:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@raspberrypi.org header.s=pp header.b=SO+sdpMJ; dkim=pass header.i=@raspberrypi.org header.s=google header.b=WeabCxTH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=raspberrypi.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728450AbeILT6j (ORCPT + 99 others); Wed, 12 Sep 2018 15:58:39 -0400 Received: from mx07-00252a01.pphosted.com ([62.209.51.214]:13454 "EHLO mx07-00252a01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728409AbeILT6i (ORCPT ); Wed, 12 Sep 2018 15:58:38 -0400 Received: from pps.filterd (m0102628.ppops.net [127.0.0.1]) by mx07-00252a01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w8CESBkN025894 for ; Wed, 12 Sep 2018 15:32:13 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.org; h=from : to : cc : subject : date : message-id; s=pp; bh=+V8fAYC2/ylaIlrOo7i1iwbCwcrAPXfVL23PyOKr2FU=; b=SO+sdpMJHZbqpnas++jl7hV7USwWt0gMyWKe42v7Xaj1vkIAj2rhugxsCfdd8gM2wJEE 7O2C2gWDVKe4MMrl+e8qetkf6Gn+tcqq/8roGas2YLD2xEd+5+t+DgKRQefhK5wJQw0k PZPCXgVkeTpoXvTiT4OXATUIDRb9823mKzgugX9SmxwXqw0Wnah32l4i6FuwluDy3Bg+ ibJfWAmtzJHK39lCsei0WA+YXgD6/ufT7EhdkapMxoXn7U4rGFGOriCuxv/McY6V0uvk KDut9kqsoaalxjMrPF7L6K6OE8uEwVZSrgAwKq3GDgDYGCwmHWnMacyqT0Dric21Tx4d eg== Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by mx07-00252a01.pphosted.com with ESMTP id 2mc3u0j16u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK) for ; Wed, 12 Sep 2018 15:32:13 +0100 Received: by mail-wr1-f69.google.com with SMTP id l45-v6so2084665wre.4 for ; Wed, 12 Sep 2018 07:32:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.org; s=google; h=from:to:cc:subject:date:message-id; bh=+V8fAYC2/ylaIlrOo7i1iwbCwcrAPXfVL23PyOKr2FU=; b=WeabCxTHJqWut+jnr5vLELHZZ14ehl+vAR09mo6S2zZyfLgVq2Hd6ctMRoYTW+IQnq WFXhpVGt6jARHKO2vtaCtW9DZJHrAok9NNnQ+EttEEHDS8iiTn+A5kLfeZ3XbZJpO4yJ S2P7MBE7L7mzzeYdmY//W47aMaHIpXZv9Dnh50iwopQ4wiv3ASt338iDBoT3Rjnhav1a L4hs5uhvGeY+l8DQdgnicOfwLGmXOUckoyz9+ewr4MCTiJ1tiSPO3rHHwaLOE658KAdt pJKpBDXluwTho03EqYxXUYT44greC3YnKaXxiSAYKkWd6uyVbVK9+ia5X24gUaXVTapW +LoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=+V8fAYC2/ylaIlrOo7i1iwbCwcrAPXfVL23PyOKr2FU=; b=cLNATYTGqKqFSZfCIM8X0TOsKXpN3HDgNnpRBl4z0kvERoO+Bu9qY9hXL/mKaJQ2Lx +vkuKUG2XJZm1mPAJ9u3jNts4xHPSZ67TzPULFo1czHmqM1U5US70RISW31fIN9ZtzbR RPq6QrVs3GYzngW71Bq/ouYU/NT9rfyJqpXk3uPlfMsmVNJ/CdF4cs7SkIYnPmshy0vH UYbzmncwUvGlPCkRfzuRbEntfkwnxolvDg+n+WXtvfd7qtqgmpdT00DVnS5zoGUpfGe/ P88DZS0XZBdXUsS5c78GUhLi0n/xidxSmSOyyNzS3MXAAXWJjAje6CRA7FLsNUM9dQYm jkDw== X-Gm-Message-State: APzg51DuA4HhyH9M1o/fszWrkzxj78yqwUHZ5Nh7GMRBxcclCmf6p6fK 1lvNOsyDdQVv2gkCiC1DTqogwBRpjm848E8VxCfZo2py8Ru/ahu2gGpn5oDBG05RzrK/avkkcIu sCbpXjXQn3VE3o0v4mLdCZUvQ X-Received: by 2002:adf:9a46:: with SMTP id z64-v6mr1728026wrb.109.1536762732760; Wed, 12 Sep 2018 07:32:12 -0700 (PDT) X-Received: by 2002:adf:9a46:: with SMTP id z64-v6mr1728005wrb.109.1536762732437; Wed, 12 Sep 2018 07:32:12 -0700 (PDT) Received: from buildbot.pitowers.org ([2a00:2381:fdf7:14:e45c:95a2:cfa0:31e0]) by smtp.gmail.com with ESMTPSA id h82-v6sm948217wme.11.2018.09.12.07.32.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 12 Sep 2018 07:32:11 -0700 (PDT) From: Phil Elwell To: Greg Kroah-Hartman , Jiri Slaby , linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Alexander Graf , Stefan Wahren Cc: Phil Elwell Subject: [PATCH 0/2] sc16is7xx interrupt fixes Date: Wed, 12 Sep 2018 15:31:54 +0100 Message-Id: <1536762716-30673-1-git-send-email-phil@raspberrypi.org> X-Mailer: git-send-email 2.7.4 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-09-12_08:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The interrupt handling of the sc16is7xx driver is broken in a number of ways, as observed by multiple Raspberry Pi users. The attached patches attempt to address its failings, with apparent success. The first is a workaround for a side-effect of the switch away from using a thread IRQ, a change which has necessitated using what is actually a level-triggered interrupt as if it were edge-triggered. Doing so is fraught with potential race conditions, but the patch makes them much less likely. The second is a workaround for a bug in the design of the SC16IS752 which requires mutual exclusion between the interrupt handler and access to the Enhanced Features Register. Phil Elwell (2): sc16is7xx: Fix for multi-channel stall sc16is7xx: Fix for "Unexpected interrupt: 8" drivers/tty/serial/sc16is7xx.c | 50 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 6 deletions(-) -- 2.7.4