4545MODULE_AUTHOR (
"Abhay Salunke <[email protected] >" );
4646MODULE_DESCRIPTION ("Driver for updating BIOS image on DELL systems" );
4747MODULE_LICENSE ("GPL" );
48- MODULE_VERSION ("3.2 " );
48+ MODULE_VERSION ("3.3 " );
4949
5050#define BIOS_SCAN_LIMIT 0xffffffff
5151#define MAX_IMAGE_LENGTH 16
@@ -91,7 +91,7 @@ static void init_packet_head(void)
9191 rbu_data .imagesize = 0 ;
9292}
9393
94- static int create_packet (void * data , size_t length )
94+ static int create_packet (void * data , size_t length ) __must_hold ( & rbu_data . lock )
9595{
9696 struct packet_data * newpacket ;
9797 int ordernum = 0 ;
@@ -292,7 +292,7 @@ static int packet_read_list(char *data, size_t * pread_length)
292292 remaining_bytes = * pread_length ;
293293 bytes_read = rbu_data .packet_read_count ;
294294
295- list_for_each_entry (newpacket , ( & packet_data_head .list ) -> next , list ) {
295+ list_for_each_entry (newpacket , & packet_data_head .list , list ) {
296296 bytes_copied = do_packet_read (pdest , newpacket ,
297297 remaining_bytes , bytes_read , & temp_count );
298298 remaining_bytes -= bytes_copied ;
@@ -315,14 +315,14 @@ static void packet_empty_list(void)
315315{
316316 struct packet_data * newpacket , * tmp ;
317317
318- list_for_each_entry_safe (newpacket , tmp , ( & packet_data_head .list ) -> next , list ) {
318+ list_for_each_entry_safe (newpacket , tmp , & packet_data_head .list , list ) {
319319 list_del (& newpacket -> list );
320320
321321 /*
322322 * zero out the RBU packet memory before freeing
323323 * to make sure there are no stale RBU packets left in memory
324324 */
325- memset (newpacket -> data , 0 , rbu_data . packetsize );
325+ memset (newpacket -> data , 0 , newpacket -> length );
326326 set_memory_wb ((unsigned long )newpacket -> data ,
327327 1 << newpacket -> ordernum );
328328 free_pages ((unsigned long ) newpacket -> data ,
@@ -645,7 +645,7 @@ static int __init dcdrbu_init(void)
645645 spin_lock_init (& rbu_data .lock );
646646
647647 init_packet_head ();
648- rbu_device = platform_device_register_simple ("dell_rbu" , -1 , NULL , 0 );
648+ rbu_device = platform_device_register_simple ("dell_rbu" , PLATFORM_DEVID_NONE , NULL , 0 );
649649 if (IS_ERR (rbu_device )) {
650650 pr_err ("platform_device_register_simple failed\n" );
651651 return PTR_ERR (rbu_device );
0 commit comments