Lines Matching refs:fw_buf
294 static int fw_read_file_contents(struct file *file, struct firmware_buf *fw_buf) in fw_read_file_contents() argument
317 fw_buf->data = buf; in fw_read_file_contents()
318 fw_buf->size = size; in fw_read_file_contents()
647 struct firmware_buf *fw_buf; in firmware_loading_store() local
653 fw_buf = fw_priv->buf; in firmware_loading_store()
654 if (!fw_buf) in firmware_loading_store()
660 if (!test_bit(FW_STATUS_DONE, &fw_buf->status)) { in firmware_loading_store()
661 for (i = 0; i < fw_buf->nr_pages; i++) in firmware_loading_store()
662 __free_page(fw_buf->pages[i]); in firmware_loading_store()
663 kfree(fw_buf->pages); in firmware_loading_store()
664 fw_buf->pages = NULL; in firmware_loading_store()
665 fw_buf->page_array_size = 0; in firmware_loading_store()
666 fw_buf->nr_pages = 0; in firmware_loading_store()
667 set_bit(FW_STATUS_LOADING, &fw_buf->status); in firmware_loading_store()
671 if (test_bit(FW_STATUS_LOADING, &fw_buf->status)) { in firmware_loading_store()
674 set_bit(FW_STATUS_DONE, &fw_buf->status); in firmware_loading_store()
675 clear_bit(FW_STATUS_LOADING, &fw_buf->status); in firmware_loading_store()
683 rc = fw_map_pages_buf(fw_buf); in firmware_loading_store()
689 fw_buf->data, fw_buf->size); in firmware_loading_store()
695 list_del_init(&fw_buf->pending_list); in firmware_loading_store()
697 set_bit(FW_STATUS_ABORT, &fw_buf->status); in firmware_loading_store()
700 complete_all(&fw_buf->completion); in firmware_loading_store()