From: Tomas Winkler Date: Thu, 23 Jul 2015 12:08:45 +0000 (+0300) Subject: mei: bus: blacklist clients by number of connections X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=dd070a1694c563bd7ba5239dd3038ff1420cf856;p=linux-beck.git mei: bus: blacklist clients by number of connections Currently we support only clients with single connection and fixed address clients so all other clients are blacklisted Signed-off-by: Tomas Winkler Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/misc/mei/bus-fixup.c b/drivers/misc/mei/bus-fixup.c index 696918a6fa4f..fd6470f42671 100644 --- a/drivers/misc/mei/bus-fixup.c +++ b/drivers/misc/mei/bus-fixup.c @@ -32,6 +32,24 @@ #define MEI_UUID_ANY NULL_UUID_LE +/** + * number_of_connections - determine whether an client be on the bus + * according number of connections + * We support only clients: + * 1. with single connection + * 2. and fixed clients (max_number_of_connections == 0) + * + * @cldev: me clients device + */ +static void number_of_connections(struct mei_cl_device *cldev) +{ + dev_dbg(&cldev->dev, "running hook %s on %pUl\n", + __func__, mei_me_cl_uuid(cldev->me_cl)); + + if (cldev->me_cl->props.max_number_of_connections > 1) + cldev->do_match = 0; +} + /** * blacklist - blacklist a client from the bus * @@ -435,6 +453,7 @@ static struct mei_fixup { const uuid_le uuid; void (*hook)(struct mei_cl_device *cldev); } mei_fixups[] = { + MEI_FIXUP(MEI_UUID_ANY, number_of_connections), MEI_FIXUP(MEI_UUID_NFC_INFO, blacklist), };