Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp814872ybg; Tue, 9 Jun 2020 13:37:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzL0vJ+AtaWd74Z28IRffenCEyzMgOP+tLVeP/KUtvIoF5S61oVeKeTlHzzug1wNI9CNMVg X-Received: by 2002:a17:907:20f4:: with SMTP id rh20mr174394ejb.55.1591735056296; Tue, 09 Jun 2020 13:37:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591735056; cv=none; d=google.com; s=arc-20160816; b=ZF8aMCZCA2onqinGuu724xbqjsd7sdIeR/lJnfnb30Hkwnk/HV5oZDv+79hcCOsX+k ywj3sPjC/tVT/TPK0UADFkjJd5XfpBsNRxUHuoiJ7YYirasSiRdBHso89/TbSTxhl27h V8upkL2buzyZSRrZLbbWv39qs1u52akaYgxGf7JjozJYjCji16r6OnZ7ThpYIBn8W4/z FIBL+7thlCB9A4UtEYdoGSYNvFKj/18SsZ3MpRR7Met2QhZq4G4TWWxT9jURt8zftDGo +WPxTzmsSvt22TzM+Ph6kEjvvreXN4Si6crmCwAsVDl65a58lGBZS3WpDxu+3HNuywK1 7K4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=QlXMUy5UUGFIOXojRPT71MxZfIeUTx5Cvdt/cyo0blU=; b=hK47jpW4c3ZYZPxY4mEbsgB4F09cUKjihtrvKry1O9GJm129j5RIlt2yM/Bw2nX2+f YQ5XdN93EpbsVtnEwLaMig6rY+Sb6JbLNo2DRrfw4hjI6r9gFi+hGAIpgRN+VA2Y4dR1 UNz5XmKSjgf3z7sToO9PMx1UOhHflPD+SYY3SHBY7Ln2oNpObeRO5bWxf7ge6zxWk2kd /7pQQOXUcWVHw7ZPt25Jf/kpNrTH9o7sDeGhizyGvfir2RR708H6lRgwJZvOabuut27K TMGA0aS6z4xlrXDspoTLBZvuRm2RGOv0EPEDeznQi89zHFV0FpH5UgqwRGkb0+XHrX/j /WyQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z12si11250361eju.555.2020.06.09.13.37.11; Tue, 09 Jun 2020 13:37:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389154AbgFITKT (ORCPT + 99 others); Tue, 9 Jun 2020 15:10:19 -0400 Received: from mga02.intel.com ([134.134.136.20]:40922 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389150AbgFITKS (ORCPT ); Tue, 9 Jun 2020 15:10:18 -0400 IronPort-SDR: pXjy7dcf9HweKPMYpuuGtQGooRFtVHqQXGyeLEkJSoVdsX1zbPqjftKYQVw1A0Z0PZRzpoCyKv 2/2xnCvZ8Ueg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2020 12:10:18 -0700 IronPort-SDR: zWl0NMbl8A5e4Ye20zIpQinUNhIefMCsZL1+HPt/dVhtue7raUPg/mUxAms2Ti6hwizb/NXzV1 3CVq3+NVkfLg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,493,1583222400"; d="scan'208";a="259071182" Received: from rpedgeco-mobl.amr.corp.intel.com (HELO ingas-nuc1.sea.intel.com) ([10.255.229.21]) by fmsmga007.fm.intel.com with ESMTP; 09 Jun 2020 12:10:18 -0700 From: Inga Stotland To: linux-bluetooth@vger.kernel.org Cc: brian.gix@intel.com, przemyslaw.fierek@silvair.com, Inga Stotland Subject: [PATCH BlueZ v2 1/4] mesh: Make "Busy" and "InProgress" to be distinct errors Date: Tue, 9 Jun 2020 12:10:12 -0700 Message-Id: <20200609191015.18459-2-inga.stotland@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200609191015.18459-1-inga.stotland@intel.com> References: <20200609191015.18459-1-inga.stotland@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org This separates "Busy" and "InProgress" error codes: MESH_ERROR_IN_PROGRESS maps to org.bluez.mesh.Error.InProgress MESH_ERROR_BUSY maps to org.bluez.mesh.Error.Busy Minor API change: UpdateAppKey() returns "InProgress" error instead of "Busy" --- doc/mesh-api.txt | 2 +- mesh/dbus.c | 3 ++- mesh/error.h | 1 + mesh/manager.c | 11 +++++------ 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/mesh-api.txt b/doc/mesh-api.txt index 24cface22..e85f0bf52 100644 --- a/doc/mesh-api.txt +++ b/doc/mesh-api.txt @@ -654,7 +654,7 @@ Methods: org.bluez.mesh.Error.Failed org.bluez.mesh.Error.InvalidArguments org.bluez.mesh.Error.DoesNotExist - org.bluez.mesh.Error.Busy + org.bluez.mesh.Error.InProgress void DeleteAppKey(uint16 app_index) diff --git a/mesh/dbus.c b/mesh/dbus.c index bf0f73bd9..83ae22c9f 100644 --- a/mesh/dbus.c +++ b/mesh/dbus.c @@ -56,7 +56,8 @@ static struct error_entry const error_table[] = { ERROR_INTERFACE ".NotAuthorized", "Permission denied"}, { ERROR_INTERFACE ".NotFound", "Object not found"}, { ERROR_INTERFACE ".InvalidArgs", "Invalid arguments"}, - { ERROR_INTERFACE ".InProgress", "Already in progress"}, + { ERROR_INTERFACE ".InProgress", "Operation already in progress"}, + { ERROR_INTERFACE ".Busy", "Busy"}, { ERROR_INTERFACE ".AlreadyExists", "Already exists"}, { ERROR_INTERFACE ".DoesNotExist", "Does not exist"}, { ERROR_INTERFACE ".Canceled", "Operation canceled"}, diff --git a/mesh/error.h b/mesh/error.h index f3e0f5476..2809915b0 100644 --- a/mesh/error.h +++ b/mesh/error.h @@ -27,6 +27,7 @@ enum mesh_error { MESH_ERROR_NOT_AUTHORIZED, MESH_ERROR_NOT_FOUND, MESH_ERROR_INVALID_ARGS, + MESH_ERROR_IN_PROGRESS, MESH_ERROR_BUSY, MESH_ERROR_ALREADY_EXISTS, MESH_ERROR_DOES_NOT_EXIST, diff --git a/mesh/manager.c b/mesh/manager.c index 2be471088..8ef681366 100644 --- a/mesh/manager.c +++ b/mesh/manager.c @@ -60,7 +60,7 @@ static void scan_cancel(struct l_timeout *timeout, void *user_data) struct mesh_io *io; struct mesh_net *net; - l_debug("scan_cancel"); + l_debug(""); if (scan_timeout) l_timeout_remove(scan_timeout); @@ -249,11 +249,10 @@ static struct l_dbus_message *add_node_call(struct l_dbus *dbus, return dbus_error(msg, MESH_ERROR_INVALID_ARGS, NULL); if (!l_dbus_message_iter_get_fixed_array(&iter_uuid, &uuid, &n) - || n != 16) { - l_debug("n = %u", n); + || n != 16) return dbus_error(msg, MESH_ERROR_INVALID_ARGS, "Bad device UUID"); - } + /* Allow AddNode to cancel Scanning if from the same node */ if (scan_node) { if (scan_node != node) @@ -263,7 +262,6 @@ static struct l_dbus_message *add_node_call(struct l_dbus *dbus, } /* Invoke Prov Initiator */ - add_pending = l_new(struct add_data, 1); memcpy(add_pending->uuid, uuid, 16); add_pending->node = node; @@ -554,7 +552,8 @@ static struct l_dbus_message *update_subnet_call(struct l_dbus *dbus, } /* All other phases mean KR already in progress over-the-air */ - return dbus_error(msg, MESH_ERROR_BUSY, "Key Refresh in progress"); + return dbus_error(msg, MESH_ERROR_IN_PROGRESS, + "Key Refresh in progress"); } static struct l_dbus_message *delete_subnet_call(struct l_dbus *dbus, -- 2.26.2