Hi Ariel, I love your patch! Yet something to improve: [auto build test ERROR on net-next/master] url: https://github.com/0day-ci/linux/commits/Ariel-Elior/qed-Doorbell-overflow-recovery/20181022-212749 config: i386-allyesconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/net/ethernet/qlogic/qed/qed_dev.c: In function 'qed_db_recovery_ring': >> drivers/net/ethernet/qlogic/qed/qed_dev.c:342:4: error: implicit declaration of function 'writeq'; did you mean 'writel'? [-Werror=implicit-function-declaration] DIRECT_REG_WR64(db_entry->db_addr, ^~~~~~ writel cc1: some warnings being treated as errors vim +342 drivers/net/ethernet/qlogic/qed/qed_dev.c 300 301 /* Ring the doorbell of a single doorbell recovery entry */ 302 static void qed_db_recovery_ring(struct qed_hwfn *p_hwfn, 303 struct qed_db_recovery_entry *db_entry, 304 enum qed_db_rec_exec db_exec) 305 { 306 if (db_exec != DB_REC_ONCE) { 307 /* Print according to width */ 308 if (db_entry->db_width == DB_REC_WIDTH_32B) { 309 DP_VERBOSE(p_hwfn, QED_MSG_SPQ, 310 "%s doorbell address %p data %x\n", 311 db_exec == DB_REC_DRY_RUN ? 312 "would have rung" : "ringing", 313 db_entry->db_addr, 314 *(u32 *)db_entry->db_data); 315 } else { 316 DP_VERBOSE(p_hwfn, QED_MSG_SPQ, 317 "%s doorbell address %p data %llx\n", 318 db_exec == DB_REC_DRY_RUN ? 319 "would have rung" : "ringing", 320 db_entry->db_addr, 321 *(u64 *)(db_entry->db_data)); 322 } 323 } 324 325 /* Sanity */ 326 if (!qed_db_rec_sanity(p_hwfn->cdev, db_entry->db_addr, 327 db_entry->db_data)) 328 return; 329 330 /* Flush the write combined buffer. Since there are multiple doorbelling 331 * entities using the same address, if we don't flush, a transaction 332 * could be lost. 333 */ 334 wmb(); 335 336 /* Ring the doorbell */ 337 if (db_exec == DB_REC_REAL_DEAL || db_exec == DB_REC_ONCE) { 338 if (db_entry->db_width == DB_REC_WIDTH_32B) 339 DIRECT_REG_WR(db_entry->db_addr, 340 *(u32 *)(db_entry->db_data)); 341 else > 342 DIRECT_REG_WR64(db_entry->db_addr, 343 *(u64 *)(db_entry->db_data)); 344 } 345 346 /* Flush the write combined buffer. Next doorbell may come from a 347 * different entity to the same address... 348 */ 349 wmb(); 350 } 351 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation