On 06.09.2016 12:20, Thomas Gleixner wrote:
On Tue, 6 Sep 2016, Tomasz Nowicki wrote:
+/**
+ * iort_get_device_domain() - Find MSI domain related to a device
+ * @dev: The device.
+ * @req_id: Requester ID for the device.
+ *
+ * Returns: the MSI domain for this device, NULL otherwise
+ */
+struct irq_domain *iort_get_device_domain(struct device *dev, u32
req_id)
+{
+ static struct fwnode_handle *handle;
static ??????
+ int its_id;
+
+ if (iort_dev_find_its_id(dev, req_id, 0, &its_id))
+ return NULL;
+
+ handle = iort_find_domain_token(its_id);
You reevaluate that on every call.
Obviously it is the bug. Thanks for spotting this.
Tomasz