Hello Pawel Laszczak, The patch d40a169aab24: "usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver" from Dec 7, 2020, leads to the following static checker warning: drivers/usb/cdns3/cdnsp-mem.c:1229 cdnsp_mem_init() warn: use 'flags' here instead of GFP_XXX? drivers/usb/cdns3/cdnsp-mem.c 1206 int cdnsp_mem_init(struct cdnsp_device *pdev, gfp_t flags) ^^^^^^^^^^^ 1207 { 1208 struct device *dev = pdev->dev; 1209 int ret = -ENOMEM; 1210 unsigned int val; 1211 dma_addr_t dma; 1212 u32 page_size; 1213 u64 val_64; 1214 1215 /* 1216 * Use 4K pages, since that's common and the minimum the 1217 * controller supports 1218 */ 1219 page_size = 1 << 12; 1220 1221 val = readl(&pdev->op_regs->config_reg); 1222 val |= ((val & ~MAX_DEVS) | CDNSP_DEV_MAX_SLOTS) | CONFIG_U3E; 1223 writel(val, &pdev->op_regs->config_reg); 1224 1225 /* 1226 * Doorbell array must be physically contiguous 1227 * and 64-byte (cache line) aligned. 1228 */ 1229 pdev->dcbaa = dma_alloc_coherent(dev, sizeof(*pdev->dcbaa), 1230 &dma, GFP_KERNEL); There is only one caller for cdnsp_mem_init() and flags is GFP_KERNEL. It's better to just remove the argument because it's not useful. 1231 if (!pdev->dcbaa) 1232 return -ENOMEM; 1233 1234 memset(pdev->dcbaa, 0, sizeof(*pdev->dcbaa)); 1235 pdev->dcbaa->dma = dma; 1236 1237 cdnsp_write_64(dma, &pdev->op_regs->dcbaa_ptr); 1238 1239 /* 1240 * Initialize the ring segment pool. The ring must be a contiguous 1241 * structure comprised of TRBs. The TRBs must be 16 byte aligned, 1242 * however, the command ring segment needs 64-byte aligned segments 1243 * and our use of dma addresses in the trb_address_map radix tree needs 1244 * TRB_SEGMENT_SIZE alignment, so driver pick the greater alignment 1245 * need. 1246 */ 1247 pdev->segment_pool = dma_pool_create("CDNSP ring segments", dev, 1248 TRB_SEGMENT_SIZE, TRB_SEGMENT_SIZE, 1249 page_size); regards, dan carpenter